[zeromq-dev] What's a tickless timer?

Pieter Hintjens ph at imatix.com
Tue Feb 5 19:12:43 CET 2013


On Tue, Feb 5, 2013 at 5:35 PM, Apostolis Xekoukoulotakis
<xekoukou at gmail.com> wrote:

> If you have a timer to expire after 1m , you dont check every 20 ms if it
> expired, you use poll() that wakes after 1m if no other event happens.

Right. The original goal is to reduce CPU wakeups, so tickless code
will work nicely on low power devices. The concept comes from the
Linux kernel: https://lesswatts.org/projects/tickless/

As well as reducing CPU wakeups it makes it easier to schedule precise
events, e.g. send PING once per second, even if there was some other
activity in the meantime. You need this when you are doing anything
complex.

zmq_poll should IMO have tickless timers built in, and it's something
I'd like to add to CZMQ (poll class with tickless timers).

-Pieter



More information about the zeromq-dev mailing list