At this point I very much question that handwritten assembly can be more performant than what LLVM-based langs can produce at the highest optimization settings. Compilers are very good at optimization
Particularly when the "handwritten" code in question is vibecoded, like this is
LLVM is bounded by what its IR can express, and what it can express is constrained by what is portable and what it can prove. There is a reason `ffmpeg`, OpenSSL, OpenBLAS, glibc's string routines, LuaJIT's interpreter, etc. all still leverage hand-written assembly.
As for the editor, even if it isn't necessarily optimal assembly (I have no clue), a reduced feature set and relying on OS APIs instead of frameworks will still probably result in something which feels faster than Electron programs like VSCode.
It should be more performant if actually handwritten I guess. But just lowering the implementation like this will make it faster than many other apps seemingly for free, but not having the abstractions from e.g. C or C++ will likely make it unmaintainable long term.
There are some good numbers in comments to respond the question. Think of rhun as of anti-vscode: feature-poor, configuration-lacking, but small and fast :-)
Honestly, it runs and looks incredible (macOS). Very well done. Would love to have support for pi-agent, as is my go-to for most uses I have. Congratulations!
This is amazing. I think that the binary itself is just 980kb, which is such a fresh breath of air. I think that I am fairly impressed by the project!
Some few features that I would love to have for myself is if it can support remote development similar to zed[0] using ssh
and if possibly, LSP support can be added.
I also think that this project can be used as the base support for many things and not just an editor as initial inspiration (sort of as a way to bootstrap a way to create extremely minimalist applications with themes and everything!)
I wish luck to the project and I might even start to daily drive it, there are many ideas that I can think of which I wish to add on top of it (I wish to create a scratch-pad app which can automatically save the files and I wouldn't have to prompt it), I had built it in Odin[1] but I feel like writing it on top of rhun might be easier as well
or a markdown editor similar to a more barebones version of obsidian/notion also come to my mind (If you are interested, please, do create something like this. QTmarkdown is one of the more minimalist things that I use but nearly all of these aren't really as minimalist as I would want them to and I think that rhun can help in it.)
Thanks once again and have a nice day! Man, do I love hackernews for these type of creative projects :-D
- now imagine building entire systems tailored to each OS in just assembly
- imagine the next gen browser built in only assembly with a browser engine made in assembly
- imagine photoshop, illustrator, movie maker built ground up in assembly
- imagine an entire windows 12 operating system made in pure assembly
- the performance profile of each of the above must be absolutely wild
- since i am an an absolute newbie at assembly at this point, a sincere question to the some of the more englightened ones reading this, how and where do you recommend I learn assembly? I understand its different for x86 x64 and ARM? where should I start?
…is it fast? Why assembly? Impressive, regardless!
“Super responsive, minimal-by-default” is kinda already met by Sublime Text, but it’s certainly not in assembly lol. And not OSS — thanks for sharing your work with the world :)
It's very difficult to call Sublime minimal, but for years that was my go to as well. rhun is OSS, no telemetry, free and is lacking dozens of "normal code editor" features compared to Sublime. Which is kinda the point. nano+ with GUI.
It occurs to me that in this era of RAM hardware shortage, resource-frugal applications like this one could become more prevalent.
Anyway I guess we'll see if that happens.
Edit: Downloaded, running under Windows.
Impressive. Loads fast, looks pretty polished. Highlighting for many languages included "obscure" ones that I sometimes use.
Mem used: 7.9MB (gvim 12.2MB, emacs 35.5MB, vscodium 291.1MB)
Particularly when the "handwritten" code in question is vibecoded, like this is
As for the editor, even if it isn't necessarily optimal assembly (I have no clue), a reduced feature set and relying on OS APIs instead of frameworks will still probably result in something which feels faster than Electron programs like VSCode.
Some few features that I would love to have for myself is if it can support remote development similar to zed[0] using ssh
and if possibly, LSP support can be added.
I also think that this project can be used as the base support for many things and not just an editor as initial inspiration (sort of as a way to bootstrap a way to create extremely minimalist applications with themes and everything!)
I wish luck to the project and I might even start to daily drive it, there are many ideas that I can think of which I wish to add on top of it (I wish to create a scratch-pad app which can automatically save the files and I wouldn't have to prompt it), I had built it in Odin[1] but I feel like writing it on top of rhun might be easier as well
or a markdown editor similar to a more barebones version of obsidian/notion also come to my mind (If you are interested, please, do create something like this. QTmarkdown is one of the more minimalist things that I use but nearly all of these aren't really as minimalist as I would want them to and I think that rhun can help in it.)
Thanks once again and have a nice day! Man, do I love hackernews for these type of creative projects :-D
[0]: https://zed.dev/docs/remote-development
[1]: https://github.com/SerJaimeLannister/odinpad
- imagine the next gen browser built in only assembly with a browser engine made in assembly
- imagine photoshop, illustrator, movie maker built ground up in assembly
- imagine an entire windows 12 operating system made in pure assembly
- the performance profile of each of the above must be absolutely wild
- since i am an an absolute newbie at assembly at this point, a sincere question to the some of the more englightened ones reading this, how and where do you recommend I learn assembly? I understand its different for x86 x64 and ARM? where should I start?
“Super responsive, minimal-by-default” is kinda already met by Sublime Text, but it’s certainly not in assembly lol. And not OSS — thanks for sharing your work with the world :)
Obv not as polished but still cool.