Repository navigation
[Feature] What if we rewrite orca by Rust #6314
Replies: 20 comments 3 replies
|
will leave this question to <@93764454222659584> ! he wrote Orca in the beginning 😄 |
|
Oh so that's sorta the plan |
|
In short, I think the interface in which we work with AI is changing rapidly With that being said, I totally want to double down once the model solidifies and model can port us to Rust in a single prompt. Perry (TS -> Rust) is interesting, but I have another friend who's building 'Trust' and plans to have TS act as the spec in generation. |
|
Core engine in Rust and UI in TS 🙂 |
|
I wonder how much speed rust would actually give |
|
Tbh, We should only port when rust makes sense. |
|
End user does not care if it’s ts or rust as long as it does not bother them |
|
Yeah I think there's alot to still push just in TS |
|
Agreed, although with terminals rendering itself and interop ends up being a bit of a botteneck 🤔 But we might also get multi-threaded JS soon which would solve alot of things if AI can speed up the dev cycle on TC proposals |
|
Also agree with <@184302958266155008> I havent found perfomance to be an issue. Maybe useful to profile the app and find out the hotspots and whether it make to do it. |
|
Same for me re performance |
|
For me, I prefer low memory usage app cuzz I only have 16GB RAM. I think Rust is suitable to reduce RAM usage |
|
Move to dicussion! All valid. We're making more perf changes and mem improvements. Though concrete rust work is prob a little bit further off |
|
I want Orca to use less RAM. The UI is also sluggish somehow. |
|
i was previously using herdr. orca’s features and ux were enough to get me to switch, but the difference in smoothness is hard to ignore. herdr feels like a thin layer over the terminal. orca sometimes feels like a full application hosting terminals, especially when several agents are running and producing lots of output. i don’t think a full rust rewrite is necessarily the answer, but terminal rendering, PTY handling, and session orchestration seem like areas where a native core could have an outsized impact. orca already wins for me on workflow and features. getting closer to herdr’s “you don’t feel the tool” responsiveness would make it incredibly hard to beat. |
|
Following up on my own comment above — I went through the codebase to pin down where a native core would actually move the needle, rather than just asserting "Rust = faster." Sharing in case it's useful when this gets prioritized. Fully agree with @nwparker that concrete Rust work is further off; think of this as the map for when we get there, not a push to start now. TL;DR: the leverage is concentrated in a few byte-level hot paths, and Orca's own profiling docs + code comments already point straight at them. A native core (not a rewrite) targeting these looks like the high-ROI path, and the daemon boundary that already exists makes an incremental first step possible. 1. Terminal data plane — the biggest oneEvery PTY byte currently gets:
2.
|
|
Thanks @ioitiki ! But the other layers are really worth some deep dives. Since you asked, we're happy to have PRs there (if they can gaurantee zero regressions -- that's always the hard part, haha). |
|
Following up on the "happy to have PRs there (if they can guarantee zero regressions)" — first one is up: #9312. It takes the git layer (not the terminal plane you're already experimenting on) and does the smallest useful slice: diff blob reads. Opening a source-control review currently spawns two
Native-host only for now (WSL/SSH keep the CLI/relay paths). Scope cuts and the natural next slice (the status-bundle spawn churn from #7576/#7225) are in the PR description. No rush on review given your "concrete Rust work is further off" — mostly wanted to put a concrete, safety-first shape on the table for whenever the timing's right. |
|
it costs little heavy but it is enduarable for me. |
Uh oh!
There was an error while loading. Please reload this page.
via Discord🤔
All reactions