ID:132330
 
Why exactly is it that Byond, or Dream Deamon runs only on 1 core, and not more. Since this can really be an issue for more complex games such as Space Station 13. Aka: More lag.
Firecage wrote:
Why exactly is it that Byond, or Dream Deamon runs only on 1 core, and not more. Since this can really be an issue for more complex games such as Space Station 13. Aka: More lag.

The server is simply not setup for multithreading. In general, that requires a lot more advanced planning, since time-dependent operations must be changed. We would eventually offload some things, such as file transferring, into separate threads.
In response to Tom
This may be hilariously stupid...is it even possible to do something such as double-threading without it being overly complex?
In response to OrangeWeapons
I think for general code execution, it would be a good trick. The main issue is retro-fitting it onto an existing (and in parts legacy) codebase. BYOND's codebase is by no means small I'd wager.
In response to OrangeWeapons
OrangeWeapons wrote:
This may be hilariously stupid...is it even possible to do something such as double-threading without it being overly complex?

No. What might be more feasible down the road is offloading some routines to other threads, like writing PNG files and delivering file downloads, and possibly other internal stuff.

Lummox JR
In response to Lummox JR
Sounds good to me!
In response to Lummox JR
This seems unlikely, but is there any chance that, at some point, spawn could result in actual multi-threading, instead of pseudo-multithreading?
In response to Popisfizzy
Well that would be the tricky bit, as you'd have to maintain locks on objects to have any sense of timing. What happens if two spawn()ed blocks reference (and modify) the same atoms?