Am 20.06.2016 um 17:43 schrieb Ilya Yaroshenko:
Hello,
I am thinking about faster event loop that vibe.d has (does not matter
what driver are used). I want to implement (at least DIP) advanced Fiber
yielding loop that can allow to eliminate context switching for all kind
of event waiters.
I'm currently working on a successor of vibe.d's core module [1], which
is more or less an internal rewrite to yield maximum performance. The
vibe.d side definitely plays a part there, but most of the improvements
are based on a rewritten event loop abstraction [2], which gives roughly
a 3x speedup over both, libevent and libasync*, for a simple HTTP server
request benchmark. This event loop abstraction is currently just a proof
of concept and still experimental, though.
Q1: Is it save to detach Fiber context from one thread and attach it to
another thread?
It will at least always break TLS variables in one way or another.
[1]: https://github.com/vibe-d/vibe-core
[2]: https://github.com/vibe-d/eventcore
* May have changed in the past weeks/months