timer-wheel: A timer wheel
This library provides a timer wheel data structure for
O(1) registering
IOactions to fire after a given amount of timeO(1) canceling registered actions
It is similar to TimerManager from GHC.Event, but can scale much better
under concurrent access patterns.
An unreleased version of this library has a backpack-based signature for
selecting from a variety of different data structures used internally.
However, until backpack has broader support on Hackage, and in Haddocks,
etc, I decided to just hard-code something decent (a priority search queue).
This makes the O(1) claims above a bit of a lie, as these rely on using a
linked list data structure internally.
Downloads
- timer-wheel-0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0, 0.2.0, 0.2.0.1, 0.3.0, 0.4.0, 0.4.0.1, 1.0.0, 1.0.0.1 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | atomic-primops (>=0.8 && <0.9), base (>=4.9 && <4.13), clock (>=0.7 && <0.8), ghc-prim (>=0.5 && <0.6), primitive (>=0.6 && <0.7), psqueues (>=0.2.7 && <0.3) [details] |
| Tested with | ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.3 |
| License | BSD-3-Clause |
| Copyright | (c) 2018, Mitchell Rosen |
| Author | Mitchell Rosen |
| Maintainer | Mitchell Rosen <mitchellwrosen@gmail.com> |
| Category | Data |
| Home page | https://github.com/mitchellwrosen/timer-wheel |
| Bug tracker | https://github.com/mitchellwrosen/timer-wheel/issues |
| Source repo | head: git clone git://github.com/mitchellwrosen/timer-wheel.git |
| Uploaded | by mitchellwrosen at 2019-02-03T18:16:33Z |
| Distributions | LTSHaskell:1.0.0.1, NixOS:1.0.0.1, Stackage:1.0.0.1 |
| Downloads | 2365 total (13 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating | |
| Status | Docs available [build log] Last success reported on 2019-02-03 [all 1 reports] |