Skip to content

High-performance Queue implementation #2771

@djspiewak

Description

@djspiewak

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions