How to make a fast dynamic language interpreter
zef-lang.dev
How to make a fast dynamic language interpreter
1–10 of 67 posts
Re: How to make a fast dynamic language interpreter
#2I also like how, according to Github, the repo is 99.7% HTML and 0.3% C++. A testament to the interpreter's size, I guess?
Re: How to make a fast dynamic language interpreter
#3Interesting, thanks for sharing. It is a topic I'd like to explore in detail at some point. I also like how, according to Github, the repo is 99.7% HTML and 0.3% C++. A testament to the interpreter's size, I guess?
But yeah the interpreter is very small
Re: How to make a fast dynamic language interpreter
#4Re: How to make a fast dynamic language interpreter
#5Re: How to make a fast dynamic language interpreter
#6How's your experience with Fil-C been? Is it materially useful to you in practice?
It was materially useful in this project.
- Caught multiple memory safety issues in a nice deterministic way, so designing the object model was easier than it would have been otherwise.
- C++ with accurate GC is a really great programming model. I feel like it speeds me up by 1.5x relative to normal C++, and maybe like 1.2x relative to other GC’d languages (because C++’s APIs are so rich and the lambdas/templates and class system is so mature).
But I’m biased in multiple ways
- I made Fil-C++
- I’ve been programming in C++ for like 35ish years now
Re: How to make a fast dynamic language interpreter
#7Re: How to make a fast dynamic language interpreter
#8I see Lua was included, wish LuaJIT was as well.
There are many runtimes that I could have included but didn’t.
Also, it’s quite impressive how much faster PUC Lua is than QuickJS and Python
Re: How to make a fast dynamic language interpreter
#9I see Lua was included, wish LuaJIT was as well.
I bet LuaJIT crushes Zef! Or rather, I would hope that it does, given how much more engineering went into it There are many runtimes that I could have included but didn’t. Also, it’s quite impressive how much faster PUC Lua is than QuickJS and Python
Python's execution time is mostly spent looking up stuff. I don't think lua is quite as dynamic.
Re: How to make a fast dynamic language interpreter
#10Earlier quoted context omitted.
I bet LuaJIT crushes Zef! Or rather, I would hope that it does, given how much more engineering went into it There are many runtimes that I could have included but didn’t. Also, it’s quite impressive how much faster PUC Lua is than QuickJS and Python
> it’s quite impressive how much faster PUC Lua is than QuickJS and Python Python's execution time is mostly spent looking up stuff. I don't think lua is quite as dynamic.