3 ms·
I'm a hobbyist in this space. I have never used Seastar either, But I'm trying to design an "evented assembly" for efficiency in a thread-per-core architecture.
by samsquire 3y ago
I'm a hobbyist in this space. I have never used Seastar either, But I'm trying to design an "evented assembly" for efficiency in a thread-per-core architecture.
I really want the next generation NodeJS equivalent to take advantage of all these learnings and learnings from Erlang. I think nodejs showed how awesome event loops and async can be and simple.
The TFA (The Friendly Article) makes it clear there are sharp edges with coroutines and lambdas in C++:
- something stored in a temporary between a yield barrier will be destroyed by the time the coroutine is resumed
- you have to make sure you store things inside the coroutine promise object
- lambda capturing rule complexity associated with copying and moving semantics
I am just learning but I've written a multithreaded barrier in C and Java that is mutex free. In 6×2 thread pairs it can communicate between threads in 42 nanoseconds.
I have the beginnings of a JIT compiler. But there's so much work to do.
My barrier resembles a "phaser" pattern in a loop and bulk synchronous parallel.