[Twisted-Python] Performance issue in reactor.callLater
Bob Ippolito
bob at redivi.com
Tue Sep 7 14:51:14 EDT 2004
On Sep 7, 2004, at 2:28 PM, Itamar Shtull-Trauring wrote:
> On Tue, 2004-09-07 at 14:13, Glyph Lefkowitz wrote:
>
>>> heapq.py is under the PSF license. PSF is roughly similar to MIT.
>>> Is this going to be okay for inclusion in Twisted?
>>
>> It's part of Python, so I don't see why that would be necessary.
>
> This is patched / somehow different version.
>
>> However, I have profiled various heapq-based schemes for callLater in
>> the past, and they always end up losing pretty big in the average
>> case,
>> and winning only in perverse cases such as hundreds of callLater(0)s
>> per
>> tick. I saw a little discussion of the performance impact, but I am
>> still not entirely convinced that it's a good idea.
>>
>
> Obviously we wouldn't commit without further performance testing.
What is the "average" case anyway? For what application? Where are
the performance tests coming from?
There is at least one scenario where it makes perfect sense to do a lot
of callLater(0.0, ...), when you're doing computation but trying not to
block.
Though, of course, you would do something like callLater(0.00001, ...)
in the current Twisted, because callLater(0.0, ...) pretty much blocks.
-bob
More information about the Twisted-Python
mailing list