I just released Cyber 0.3, a scripting language that can be embedded and also used as a CLI script runner. The JIT compiler was created in an interesting way, matching luajit’s, and beating node’s baseline JIT’s perf in the fibonacci benchmark. Someone mentioned that the perf falls off in higher fib counts but that is only because Cyber starts with a lower virtual stack and has to realloc. The performance is still the same in longer runs.
This is amazing, thanks for sharing! Why did you choose Zig as an implementation language? With "embedded" I assume you mean embedding the VM in an application, i.e. not "embedded systems", isn't it?
Zig was used because it felt like a modern C alternative and it had good interop with C, although some parts of Cyber is still written in C. Yes, it's for embedding into a host application but there is nothing stopping it from running on embedded systems. Since Zig can just target them through LLVM. The only issue would be adding a few build options to exclude parts of the builtin library so the memory footprint is lower.