Quote Originally Posted by ZorbaTHut View Post
Quote Originally Posted by DoomSprout View Post
I think the only way we could effectively allow multi-threading in the API would be to have multiple Lua contexts, and partition addons off into their own self contained execution environments. Each addon would still be internally single threaded, but multiple addons could run side-by-side. It would still leave Zorba with an enormous head-ache having to manage it, but at least the evils of thread synchronisation would be done by someone who is (hopefully!) qualified to deal with it. However, in my experience, the processing carried out by addons isn't where the performance hits are - it's what's drawn on the screen. If there was some way of splitting whatever it is ScaleForm does that takes it so long across multiple cores, that could be a huge win
I've considered adding Lua Lanes to the API so people can offload complicated processing to another Lua instance. The spun-off lanes wouldn't include any of the Inspect/Command/Utility/Event hierarchies, it'd be solely for data processing. The conclusion I've mostly come to is, however, just as you said - that most addons simply wouldn't have a use for it. Maybe Bananah and that's it.
Jump to post...