• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ben-manes / caffeine / 2000 / 1
100%
master: 100%

Build:
DEFAULT BRANCH: master
Ran 02 Apr 2017 05:46AM UTC
Files 67
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Apr 2017 05:14AM UTC coverage: 93.293% (-0.3%) from 93.637%
TERM=dumb

push

travis-ci

ben-manes
Prototype of hierarchical timer wheel

A timer wheel allows timers to be added, removed, or fired in amortized
O(1) time. Instead of using a O(lg n) priority queue, timers are
assigned to a bucket by hashing. Each wheel represents a resolution,
e.g. seconds / minutes / hours, and structured into a hierarchy. As the
wheels rotate, events cascade from a higher level to the lower. When a
bucket then all of its timers are evaluated, either cascaded or fired.
This amortizes the cost as cascading is done in small batches.

This serves as the foundation for variable expiration, where some
entries are short lived and others long lived. The custom policy is
defined by the user and the timer wheel is operated on during the
cache maintenance cycles.

This is work in progress. But shows the general idea of where we are
going.

5425 of 5815 relevant lines covered (93.29%)

0.93 hits per line

Source Files on job 2000.1 (TERM=dumb)
  • Tree
  • List 0
  • Changed 3
  • Source Changed 1
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 2000
  • Travis Job 2000.1
  • 8076b12a on github
  • Prev Job for TERM=dumb on master (#1999.1)
  • Next Job for TERM=dumb on master (#2002.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc