Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

What makes Lua such a compelling alternative to say Python is that Lua interpreters are really truly independent of each other. The state of each interpreter is represented using a single C struct:

lua_State* L;

Lua can have N interpreters running independently on separate threads in a single process. Contrast this with python which has a global interpreter lock.

So to make things work for Iguana the solution I chose together with Kevin Senn at the time was to leverage what we called our “Job System” in Iguana.

This is how we enforced the share nothing principle of making sure that only one thread owned each Lua interpreter.

  • No labels