timer-wheel: A timer wheel
This library provides a timer wheel data structure for
O(1) registering
IO
actions 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.1.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
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.3, ghc ==8.6.1 |
License | BSD-3-Clause |
Copyright | (c) 2018, Mitchell Rosen |
Author | Mitchell Rosen |
Maintainer | Mitchell Rosen <mitchellwrosen@gmail.com> |
Revised | Revision 1 made by mitchellwrosen at 2018-09-30T18:49:21Z |
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 2018-07-18T23:46:58Z |
Distributions | LTSHaskell:1.0.0.1, NixOS:1.0.0.1, Stackage:1.0.0.1 |
Downloads | 2292 total (3 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2018-07-18 [all 1 reports] |