|
|
|
|
|
by dasz
1496 days ago
|
|
https://wiki.python.org/moin/StacklessPython Stackless Python allows you to run hundreds of thousands of tiny tasks, called "tasklets", in a single main thread. These tasklets can run completely decoupled, or they can communicate via "channels". |
|
Seems like an unfortunate choice in a world where compute cores proliferate but clock rates increase only incrementally.
The original designers made this choice because they believed it reduced developer burden; they could deliver the game faster because the programming model is simplified.
I have been haunted by dreams of implementing a game engine to 'solve' EVE for about 15 years now. One imagines perhaps golang and it's goroutines efficiently distributing tens of thousands of players and other entities across a 64 core CPU... Or perhaps something akin to io_uring written in asynchronous Rust. I can't count the number of times I've diagrammed the memory structures and algorithms.
Amdahl's law is the ceiling of what is possible, but just approaching it would deliver staggering possibilities.