It's Wednesday and I feel like doing something fun. How about playing with an emulator?
Blink is a tiny-but-powerful x86 virtual machine (VM) written in C, by Justine Tunney. Besides having a really cool name, there are many features of Blink that make it quite impressive.
Blink is at least 2 times faster than QEMU, and it is even capable of emulating QEMU itself. I have not done benchmarks (yet) but trust me 😑
I just got Blink performing twice as fast as Qemu, while reducing Blink's size to 157kb. What makes Blink so tiny and fast is it uses a printf-style DSL for x86/aarch64 JIT code generation. Beta testers wanted.https://t.co/ram0UF24CH pic.twitter.com/fuKFeVxCbG
— Justine Tunney (@JustineTunney) January 3, 2023
That's rather impressive for a relatively new project. Only time can tell how much faster it will get with further work and optimizations. Starting fast is always a good thing. You know what they say, fast is ehhhh... good! good!
How small can an emulator be? Blink occupies only 157Kb. It Would be interesting to see how this size changes as more features are added.
It's a small, fast emulator but there's more! Blink comes with blinkenlights; a nice debugger that runs in the terminal. Much like GDB but way cooler.
The TUI looks cool but its best feature isn't just the looks, but Reverse-Debugging. One of the newest and most impressive features of Blinkenlights is reverse-debugging. It can go back in time during program execution. Now imagine all the things you can do with that. You can not only single-step forwards but also backward during execution. That's pretty impressive if you ask me.
I added a reverse debugging feature to Blink, that lets you scroll wheel backwards through execution history. https://t.co/ram0UF24CH pic.twitter.com/h5htBn3qm2
— Justine Tunney (@JustineTunney) January 3, 2023
Blink can emulate GCC.
Blink is now outperforming Qemu by 13% when emulating GCC. There's still so many optimizations I haven't even written yet! https://t.co/ram0UF2Csf pic.twitter.com/yIknkJIdAi
— Justine Tunney (@JustineTunney) December 17, 2022
Just when you thought it was over, Blink emulates Blink Emulating a program. VERY COOL!
Blink is a rather impressive project. Justine Tunney and other contributors deserve some accolades for their work. You can check out Blink on github.
Thank you for reading,
Give me a follow on Twitter to get updated on my new articles, and join my Discord server if you would like to see cool open-source projects I am building with an awesome community of software enthusiasts.
Consider donating, or becoming a sponsor to help me transition into making open-source software, full-time.