Firejox
Firejox
The poplar heap is quite similar to the [post-order heap](http://people.csail.mit.edu/nickh/Publications/PostOrderHeap/FUN_abstract.html). Hence, I think it could possibly run in O(n) time.
I benchmark the **threadring** of [kostya/crystal-benchmarks-game](https://github.com/kostya/crystal-benchmarks-game) today. The new design performs slightly better than the origin one. Hence, the change will not cause the run-time overhead. [result gist](https://gist.github.com/firejox/104ef75e2f8a0d4c5717b3c22182ba09)
@straight-shoota I can wait for that pr because it is just a direction about what we can do. I also agree that making crystal work on windows is :rocket: .
@straight-shoota Ok, I will add them back.
Currently, you can use pulseaudio [loopback module](https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index57h3) to achieve it. Just pass audio from monitor source to sink.
@RX14 Actually, It can combine future and channel together. ```Crystal require "async_await" class Foo getter ch = AAChannel(Int32).new async def bar task = @ch.receive bar2 p x = await task...
Uh...your code a little bit different to me If you insert `p "HI"` after foo.bar, you will get different output ```Crystal require "async_await" class Foo getter ch = AAChannel(Int32).new async...
@RX14 Yes. If you want to do the same thing, you would write some scary future like that. ```Crystal class Foo getter ch = Channel(Int32).new def bar task = future...
Well, I think that would change a lot in standard library even if I contribute the channel part to Crystal. It would really challenge the Crystal's community. And this repo...
With video provided. https://github.com/microsoft/wslg/assets/6823999/3a3657ac-d266-4836-91b0-eebfac4b7f95