Mmm latency reduction... (Trading raw performance for scalability and responsiveness)

I've been working on extending the latency improvements from a few days ago throughout Cinemon. Some of the latency improvements are going into TwistedSNMP. I'm considering adding the module to TwistedSNMP as well. The newest incarnation is very useful when you want to break up operations in a Twisted application which, though not "blocking" in the busy-wait sense are heavy enough to cause significant delay.

Interestingly, many of the situations where I use it I'm using it more as "serial" than parallel, that is, I specify only a single "thread" to consume the iterable set, using the built-in "yield to scheduler" functionality to say, in essence, "let other operations continue here".

I've also added an iterable version of twine tables. I'm considering adding a table retriever that iterates at the lowest levels directly into twined tables (so it would iterate as the data comes in, giving far faster responses (and smaller data-sets) for big data-tables).

Anyway, will work on packaging up all the changes tomorrow or Monday and do a new release of TwistedSNMP then.


Comments are closed.


Pingbacks are closed.