Alkis Evlogimenos

Results 34 comments of Alkis Evlogimenos

We still need to fix while (env->KeepRunningBatch(s.size() * s.front().size() * kOpsPerKey)) to count properly. Another way of fixing this is to use Shuffle instead of Transpose. Instead of returning keys...

Wouldn't: ``` may::config().set_workers(1).set_io_workers(0); ``` set parallelism to 1 across all coroutines? What I want to do is to have a function: ``` fn doStuff() {} ``` and all coroutines that...

It will do the work but it seems to me that it does more work than necessary. The scheduler already does the synchronization (fences/etc) necessary when a coroutine switches from...

Is it possible to reduce jitter if we use a work stealing queue per worker thread instead of a global mpmc queue for coroutines?

Is there some documentation on the tradeoffs and/or different designs for the scheduler? More particularly why do we need separate io_workers? How does it compare to N generic workers plus...

FYI WIP here: https://github.com/alkis/may/tree/work-stealing-scheduler

Yes underlying libraries should not depend on specific transports but as you say on some abstract streams. Websocket already has https://github.com/snapview/tungstenite-rs/ so it works naturally. Aren't there enough pieces of...

That's what I was thinking as well. And if such a library exists it will benefit `may` massively. Right now may provides the ease of doing async programming but the...

These are easy to add and more ergonomic than RETURN_IF_ERROR, etc. ```c++ #define TRY(...) \ ({ \ auto res = (__VA_ARGS__); \ if (!res.ok()) return std::move(res).status(); \ std::move(*res); \ })...

Hub moves are like api endpoint moves. They should be handled with provider developer communication and a (very) long deprecation time. This does not belong in the protocol itself but...