Rpi – a Rust rewrite of the Pi agent, 10× faster startup
I've been learning about the Pi agent and decided to rewrite it in Rust. Now that I've finished a lot of the work, I'd like to show how much faster Rust (rpi) is than TypeScript (Pi). Here are the results:
| Metric | rpi (Rust) | Pi (TypeScript) | Difference | |:---|:---|:---|:---| | `--version` | 17.5 ms | 169.5 ms | 9.7× faster | | Cold start | 17.7 ms | 189.5 ms | 10.7× faster | | RSS when ready | 12.0 MiB | 91.5 MiB | 7.6× smaller | | Install size | 21.8 MiB | ~385 MiB | ~18× smaller |
Rust is really cool!
14 comments
[ 1.4 ms ] story [ 23.9 ms ] threadWithout a plan of your own for extensions this is comparing apples to oranges. My Pi startup time is dominated by loading extensions and skills, and I don't even have many to begin with!
This is great. A few days ago we were able to enable running Pi fully in the browser (and in the iPhone). Demo here: https://wasmer.sh/?example=pi
I'd be curious if we could compile Rpi to WASIX (https://wasix.org) and get it there as well!