-
-
Notifications
You must be signed in to change notification settings - Fork 572
High-performance Queue implementation #2771
Copy link
Copy link
Closed
Description
We can up-level the performance on Queue by about an order of magnitude by taking an Async constraint instead of Concurrent. However, the ecosystem relies on being able to use Concurrent since it's a much weaker constraint. Thus, we need to do a match on the runtime type of the typeclass. If it's Concurrent, we use the existing implementation; if it's Async, we use the higher performance one.
This level of shenanigans is worthwhile since Queue is so widely used within the critical path of most ecosystem libraries.
Reactions are currently unavailable