Łukasz Biały
10/31/2023, 4:06 PMlaunch { }
do in this scenario? Are there some very specific optimizations that basically rewrite this so that these two coroutines schedule each other cooperatively?
edit: btw congratulations on these marvelous results!Chris Lee
10/31/2023, 6:06 PMŁukasz Biały
11/01/2023, 8:31 AMrunBlocking
that apparently skips all the synchronization and it kinda explains what happened, I modified the code to use launch(Executors.newSingleThreadExecutor().asCoroutineDispatcher()) {
and now all runs take around 20s so yeah, I'll talk with Adam to provide an explanatory clause because people on twitter are already picking on that post as it's comparing apples to oranges. It kinda is but the point of the experiment was to find the fastest possible implementation for channels in Loom-based structured concurrency library ox and not to compare things.