All Projects → RussellLuo → Timingwheel

RussellLuo / Timingwheel

Golang implementation of Hierarchical Timing Wheels.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Timingwheel

waves-timer-animation
A relaxing waves animation built with Jetpack Compose
Stars: ✭ 121 (-62.77%)
Mutual labels:  timer
TamoStudy
TamoStudy is a productivity work and study timer that implements a fun, virtual pet to help you stay driven to focus.
Stars: ✭ 35 (-89.23%)
Mutual labels:  timer
Fliptimerview
FlipTimerView library for Android
Stars: ✭ 275 (-15.38%)
Mutual labels:  timer
cxxtimer
A timer for modern C++
Stars: ✭ 22 (-93.23%)
Mutual labels:  timer
cron-schedule
A zero-dependency cron parser and scheduler for Node.js, Deno and the browser.
Stars: ✭ 28 (-91.38%)
Mutual labels:  timer
OnlyT
Meeting Timer
Stars: ✭ 80 (-75.38%)
Mutual labels:  timer
goodtimer
Golang timer for humans.
Stars: ✭ 31 (-90.46%)
Mutual labels:  timer
Peaclock
A responsive and customizable clock, timer, and stopwatch for the terminal.
Stars: ✭ 314 (-3.38%)
Mutual labels:  timer
Web-Time-Tracker
Plugin named Timetracker is a time counter that works in both increase and decrease directions.
Stars: ✭ 21 (-93.54%)
Mutual labels:  timer
Promise Timer
A trivial implementation of timeouts for Promises, built on top of ReactPHP.
Stars: ✭ 270 (-16.92%)
Mutual labels:  timer
timer.cljs
Scheduling async operations in Clojurescript
Stars: ✭ 22 (-93.23%)
Mutual labels:  timer
ordne
A Simple Pomodoro Timer for Elementary OS
Stars: ✭ 13 (-96%)
Mutual labels:  timer
Simple Clock
Combination of a beautiful clock with widget, alarm, stopwatch & timer, no ads
Stars: ✭ 257 (-20.92%)
Mutual labels:  timer
async-timer
Timer facilities for Rust's async story
Stars: ✭ 37 (-88.62%)
Mutual labels:  timer
Netserver
A C++ High Performance Net Library
Stars: ✭ 271 (-16.62%)
Mutual labels:  timer
countdown-vuejs
A Countdown Timer component for Vue.js
Stars: ✭ 58 (-82.15%)
Mutual labels:  timer
new-clock
The best clock app there is
Stars: ✭ 24 (-92.62%)
Mutual labels:  timer
Laravel S
LaravelS is an out-of-the-box adapter between Swoole and Laravel/Lumen.
Stars: ✭ 3,479 (+970.46%)
Mutual labels:  timer
Atom Wakatime
Atom plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 303 (-6.77%)
Mutual labels:  timer
Snaptimer
Implementation of Snapchat's stories timer.
Stars: ✭ 273 (-16%)
Mutual labels:  timer

timingwheel

Golang implementation of Hierarchical Timing Wheels.

Installation

$ go get -u github.com/RussellLuo/timingwheel

Design

timingwheel is ported from Kafka's purgatory, which is designed based on Hierarchical Timing Wheels.

中文博客:层级时间轮的 Golang 实现

Documentation

For usage and examples see the Godoc.

Benchmark

$ go test -bench=. -benchmem
goos: darwin
goarch: amd64
pkg: github.com/RussellLuo/timingwheel
BenchmarkTimingWheel_StartStop/N-1m-8            5000000               329 ns/op              83 B/op          2 allocs/op
BenchmarkTimingWheel_StartStop/N-5m-8            5000000               363 ns/op              95 B/op          2 allocs/op
BenchmarkTimingWheel_StartStop/N-10m-8           5000000               440 ns/op              37 B/op          1 allocs/op
BenchmarkStandardTimer_StartStop/N-1m-8         10000000               199 ns/op              64 B/op          1 allocs/op
BenchmarkStandardTimer_StartStop/N-5m-8          2000000               644 ns/op              64 B/op          1 allocs/op
BenchmarkStandardTimer_StartStop/N-10m-8          500000              2434 ns/op              64 B/op          1 allocs/op
PASS
ok      github.com/RussellLuo/timingwheel       116.977s

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].