Microsoft agentically ports Copilot runtime to Rust for $120K
Posted by pjmlp 1 day ago
Comments
Comment by Rexxar 1 day ago
- there are now ridiculous vibe coded localisation in VS2026
- task manager started to not report cpu usage correctly recently (the number becomes stalled)
- file explorer display the "loading" icon infinitely on some directories
- and many other things!
Comment by GrayShade 1 day ago
Nautilus had that feature 10 years ago, good to hear they've reached parity.
Comment by edg5000 1 day ago
Comment by chrischen 1 day ago
Comment by Icathian 1 day ago
Comment by fingerlocks 1 day ago
Comment by solarkraft 1 day ago
Comment by sharktheone 1 day ago
Comment by tecoholic 1 day ago
One of the thorniest conversions was the session.ts file, which was over 30,000 lines of TypeScript that touched all aspects of the runtime.
This can’t be real. Single file with 30K lines? Which human being is working on it and how much RAM does it take for a code editor to load that with full symbol tree? I am genuinely curious. Is this common? I think most files I come across stretch to maybe 2-3k lines max.Comment by Rexxar 1 day ago
For example, until recently the main file for donet runtime GC was more than 50000 lines (it has since been split).
Comment by skrebbel 1 day ago
Comment by solarkraft 1 day ago
Comment by Zanfa 1 day ago
[0] https://android.googlesource.com/platform/frameworks/base/+/...
Comment by tecoholic 17 hours ago
Comment by brewmarche 1 day ago
Comment by tecoholic 17 hours ago
Comment by brewmarche 13 minutes ago
I’ve also read that a first version of the file came from a Common Lisp to C++ code generation step: <https://news.ycombinator.com/item?id=23295041>
Comment by wayvey 1 day ago
Comment by NewsaHackO 1 day ago
Comment by applfanboysbgon 1 day ago
Comment by phoghed 1 day ago
Comment by perching_aix 1 day ago
Comment by dgellow 1 day ago
Comment by sajithdilshan 1 day ago
Comment by dgellow 1 day ago
Comment by sajithdilshan 1 day ago
Comment by dgellow 1 day ago
Comment by smitty1e 1 day ago
Comment by formerly_proven 1 day ago
If you've ever used that tool you wouldn't ask this question, since it's obviously fully vibecoded.
Comment by meerita 1 day ago
Total: ~1,301,378 lines of Rust.
Production: 832,378 Unit tests: ~469,000 Combined: ~1.30 million lines
On top of the 832K LoC are mostly tests she answered:
> Yeap, 832,378 lines of production Rust. the +800K number is production only; unit tests are another +469K on top.
Comment by hollowturtle 1 day ago
Does this impresses/surprises anyone? Two folds: 1) I believe the most optimized JavaScript code could near the performance of this phase 1 port without optimizations. I would have gone with that first, many would think that would not be as cost efficient but: 2) optimizing the rust code will require 10x the effort of the 1 by 1 conversion, just because you now need idiomatic rust code that likely has nothing to do with a plain translation. So defeating the initial gain, there's nothing to do the bottleneck gets just pushed elsewhere
Comment by dmix 1 day ago
The +400k new lines were probably code comments the agents added to everything
Comment by Havoc 1 day ago
Don't know what tech stack it is but I'm guessing electron judging by how buggy and slow it is
Comment by mixxit 22 hours ago
Really nothing works anymore as great a product full fat visual studio and windows 7 was I don't have time to deal with your bugs
Comment by aniceperson 1 day ago
Comment by amelius 1 day ago
Comment by rienbdj 1 day ago
Comment by amelius 1 day ago
And if LLMs are as great as they make us believe they are, then this should be easily possible.
Comment by andrewstuart 1 day ago
Greenlets were much faster.
Gil free python gets stuck on all sorts of python locks. It’s slow.
Comment by ChrisArchitect 22 hours ago
Comment by iamgopal 1 day ago
Comment by Havoc 1 day ago
Comment by hollowturtle 1 day ago
Comment by Havoc 8 hours ago
> you can still do a lot memory management
That’s kinda my point - you don’t really want to trust the LLM to get any sort of memory management right. A system where hard constraints are baked into the language itself and the LLM fights the compiler at compile time removes a lot of hoping the LLM got it right.
Ultimately either works though so use whatever you enjoy
Comment by asp_hornet 1 day ago
I’m guessing so it can interop easier with C/C++ codebases? Just a stab in the dark, I have no idea.
Comment by OutOfHere 1 day ago
Comment by turowicz 1 day ago
Comment by jdw64 1 day ago
Comment by baxuz 1 day ago
Comment by mg74 1 day ago
Comment by supermatt 1 day ago
Comment by dgellow 1 day ago
Comment by alex_duf 1 day ago
Comment by OutOfHere 1 day ago
Comment by perching_aix 1 day ago
Though it's the same extension that can't keep its session timestamps straight, randomly hides sessions I was just in (then suddenly remembers them after going in and out of a session), and completely shits itself visually when using OpenAI's models, so maybe it really is just the latter.
Comment by andrewstuart 1 day ago
Comment by blacklimetea 1 day ago
Comment by pinkmoonx 1 day ago