BSD Ports

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.

RepositoryVersion
NetBSD 10.1 x86_640.4.1.4nb5
NetBSD 10.1 aarch640.4.1.4nb5
SmartOS / illumos x86_640.4.1.4nb5
macOS 15 arm640.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.

Dependencies

Run dependencies 3
Required by 1