Hi,

I have a question regarding scalability of timers in Twisted.

Say I have a massive number of periodic timers (lets say each with period 1s, 
but all slightly time shifted to each other).

As far as I understand, timers are implemented ultimately by setting the 
timeout parameter when calling into OS select/poll/epoll/kqueue.

If this  is true, then the number of timers scales linearly with the number of 
syscalls. This can get limiting (the total number of syscalls a Linux box can 
sustain is a couple of 100k's per second). As more and more timers are setup, 
the timeout essentially will approach 0. On the upside, timers will fire 
precisely.

However, say I am fine with a precision of 1ms.

Is there a way that limits the syscall rate to 1000/s (given no FD activity 
happens) _independently_ of the number of timers setup?

Timers that fall into a certain ms slice would all fire roughly at the same 
time (still ordered).

Is that possible?

Thanks,
Tobias

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to