On Thursday, 21 September 2017 at 19:40:48 UTC, bitwise wrote:
On Thursday, 21 September 2017 at 18:55:04 UTC, Vadim Lopatin
It does. But Golang uses them, too. Goroutines.
Indeed. I'm reading about them right now, and they seem to be
"multiplexed". I wonder if Vibe.d does something similar.
The fact that you've observed lower CPU usage by the D version
makes me think some kind of scheduling or thread-priority issue
is the cause.
Fibers are being switched by waiting for signals/events.
Waiting blocks thread.
Timer should affect only non-blocked threads switching IMHO.