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: --version: 17.5 ms vs 169.5 ms (9.7× faster); Cold start: 17.7 ms vs 189.5 ms (10.7× faster); RSS when ready: 12.0 MiB vs 91.5 MiB (7.6× smaller); Install size: 21.8 MiB vs ~385 MiB (~18× smaller). Rust is really cool!
Nice! 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!
This kind of invalidate the pitch of Pi, the self-modifying harness. You can't use the Pi extensions I'm assuming... Without 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! (It seems like there is a pluging API judging by the Github repo. That wasn't linked in the comments by the time of my writing)
I wonder about adding a plugin shim for webassembly, or a Rust crate with integrated V8 engine (Bun?). But honestly, I use pi and I have yet to ask it to self-modify.
I mean, kinda same. I've asked it to write skills but that is about it. And skills dont require this. But I do use other peoples extensions.
That name won't be confusing at all
github repo: https://github.com/bigfish1913/pi-rust