foobarto's discovery zone |
All things I find intriguing, fun or otherwise worth spreading word around. |
After a long battle with trying to shoehorn JavaScript into a highly concurrent and distributed architecture of ArenaEngine I must park it for now.
The issue that I’ve hit with erlv8 is its single process nature. Even though you can start new VMs the driver still operates in one V8 instance. Combine that with the current implementation of erlv8_context which is persistent, hence not garbage collected. Mix it with copying each context to different VMs to load balance requests and you end up with a mess that in itself will take weeks to solve.
Which means that the first beta releases (and most likely the first general release) of ArenaEngine will come with Efene and Erlang as options for scripting languages. Now, unfortunately Reia is currently not ready for serious use due to its memory consumption issues.
When ArenaEngine will be up and running and JavaScript will turn out to be a desired language I’ll revisit erlv8 as in itself it is a very cool project. It will however require a lot of work to be usable in ArenaEngine.
Recently I’m feeling a lot of pressure from various sources to do the opposite to what is shown here… Financial planning for X employees, assumption that I’ll need investors/loans etc. Where I would prefer to just *do it* and then see if I’ll need additional funding.