https://kotlinlang.org logo
Title
s

simon.vergauwen

02/18/2020, 1:24 PM
Hey @Richard Gibson @Scott Christopher @kioba, I rewrote the internals of
Queue
which was based on
ZIO
to how
MVar
is build in Arrow and Cats-effects which uses lower level constructs such as
atomic
with
tailrec
instead of
Ref
. You can find the PR here, https://github.com/arrow-kt/arrow/pull/2081, there is some impact on the API. Since we can offer a more powerful API but 2 use-cases are removed. Dropping and bounded queue with capacity 0. Looking forward to your feedback on the PR 🙂
❤️ 3
s

Scott Christopher

02/19/2020, 10:51 PM
Nice work on the perf improvements! I haven’t had a close review of the implementation, but I don’t think it’s a problem to drop support for 0 capacity (I only added them because it was possible). If someone wants that behaviour then it’s probably best implementing as something new like a Channel data type which makes the behaviour explicit.
s

simon.vergauwen

02/20/2020, 8:41 AM
Thanks for the feedback already @Scott Christopher!
k

kioba

02/21/2020, 1:20 PM
I finally had time to look at it. It is incredible job and really nice results! 🙂 Thanks for letting us look at it ❤️
s

simon.vergauwen

02/21/2020, 1:27 PM
Hey @kioba thanks for the feedback! Happy to hear you like the improvement ❤️ Thanks again for your contribution to
Queue
and hope to see you all in the new Arrow Fx repo soon 😉 https://github.com/arrow-kt/arrow-fx
❤️ 1
:yes: 1