devel/hs-unagi-chan 0.4.1.4nb5 NetBSD
Fast concurrent queues with a Chan-like API, and more
- System
- NetBSD
- Repository
- pkgsrc
- Maintainer
- [email protected]
- License
- modified-bsd
- Categories
- devel
- Package size
- 359.7 KiB, 4352.3 KiB installed
Description
This library provides implementations of concurrent FIFO queues (for both general boxed and primitive unboxed values) that are fast, perform well under contention, and offer a Chan-like interface. The library may be of limited usefulness outside of x86 architectures where the fetch-and-add instruction is not available.
We export several variations of our design; some support additional functionality while others try for lower latency by removing features or making them more restrictive (e.g. in the Unboxed variants).
* Unagi: a general-purpose near drop-in replacement for Chan. * Unagi.Unboxed: like Unagi but specialized for primitive types; this may perform better if a queue grows very large. * Unagi.Bounded: a bounded variant with blocking and non-blocking writes, and other functionality where a notion of the queue's capacity is required. * Unagi.NoBlocking: lowest latency implementations for when blocking reads aren't required. * Unagi.NoBlocking.Unboxed: like Unagi.NoBlocking but for primitive types.
Install
Binary package:
pkgin install hs-unagi-chan
From pkgsrc:
cd /usr/pkgsrc/devel/hs-unagi-chan && make install clean
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | Version |
|---|---|
| NetBSD 10.1 x86_64 | 0.4.1.4nb5 |
| NetBSD 10.1 aarch64 | 0.4.1.4nb5 |
| SmartOS / illumos x86_64 | 0.4.1.4nb5 |
| macOS 15 arm64 | 0.4.1.4nb5 |
Dependency graph
Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.