andrewjstone / ferris

A hierarchical timer wheel in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

API Documentation

Usage

Add the following to your Cargo.toml

[dependencies]
ferris = "0.1"

Add this to your crate root

extern crate ferris;

Description

Ferris consists of two concrete hierarchical timer wheels. Each has multiple inner wheels with different resolutions to provide a large time range with minimal memory use.

There is an allocating wheel that allocates each timer on the heap and a copying wheel that doesn't. Which one you use is simply a matter of preference and benchmarking in your specific application.

Start and Stop are O(1) operations. Expiry is O(n) on the number of elements in the slot.

About

A hierarchical timer wheel in Rust

License:Apache License 2.0


Languages

Language:Rust 100.0%