|
Why would you want to remove coroutines?
Short answer: I don't need them. Our Lua based systems already ran completely pre-emptively multi threaded on a vanilla Lua 4.0.1 core. Of course we allow only a single thread per lua_State (or the locking overhead would indeed be unacceptable). States share information via a marshalling mechanism.
I played around with several alternative scenario's when coroutines were introduced. Of course you can program some sweet stuff with them, but in the end, I really cannot say that our "old" approach is outdated. I run co-routineless multithreaded programs in Lua 5.0.2 painlessly.
-- Wim