6 个版本
使用旧 Rust 2015
0.3.1 | 2015年8月29日 |
---|---|
0.3.0 | 2015年5月26日 |
0.2.2 | 2015年2月22日 |
0.2.1 | 2015年1月15日 |
0.1.1 | 2014年12月13日 |
7 在 #哈希
每月下载量 68 次
6KB
哈希轮计时器
简单的哈希轮计时器。见 http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf
从 Go 版本 (https://github.com/BarkingMouseStudio/wheel_timer) 转换到 Rust。
文档
http://barkingmousestudio.com/wheel-timer-rs/wheel_timer/
基准测试
Rust 实现(使用 vec)
预 alpha 版
test bench_wheel_timer_drain ... bench: 4644 ns/iter (+/- 628)
test bench_wheel_timer_fast ... bench: 61 ns/iter (+/- 4)
test bench_wheel_timer_fill ... bench: 30 ns/iter (+/- 5)
alpha 版
test bench_wheel_timer_drain ... bench: 3410 ns/iter (+/- 1198)
test bench_wheel_timer_fast ... bench: 43 ns/iter (+/- 27)
test bench_wheel_timer_fill ... bench: 20 ns/iter (+/- 3)
rustc 1.4.0-nightly (f05b22efb 2015-08-15)
test bench_wheel_timer_drain ... bench: 4,093 ns/iter (+/- 1,322)
test bench_wheel_timer_fast ... bench: 50 ns/iter (+/- 25)
test bench_wheel_timer_fill ... bench: 15 ns/iter (+/- 8)
Rust 实现(使用链表)
test bench_wheel_timer_drain ... bench: 8839 ns/iter (+/- 4160)
test bench_wheel_timer_fast ... bench: 111 ns/iter (+/- 50)
test bench_wheel_timer_fill ... bench: 73 ns/iter (+/- 33)
Go 实现
BenchmarkWheelTimer_drain 200000 14081 ns/op
BenchmarkWheelTimer_fast 5000000 407 ns/op
BenchmarkWheelTimer_fill 10000000 152 ns/op