[NCLUG] RE: [Python-Dev] Judy for replacing internal dictionaries?

Tim Peters tim.one at comcast.net
Sat Aug 3 19:41:15 MDT 2002


[Sean Reifschneider]
> The most important requirements of an interpreter are a balance of speed,
> memory efficiency and scalability.  It seems that performance is
> more often worked on than the other two in Python, though.  Maybe that's
> just my misconception.

Probably <wink>.  I find it hard to separate the three cleanly.  For
example, when the platform malloc/realloc/free go quadratic-time in the
presence of millions of repetitions of this, that, or the other kind of
access pattern, it's generally presented as a "speed problem", although it
really has to do with unscalable algorithms.

OTOH, while it became clear six years ago that Python had to grow its own
small-block allocator to have any hope of escaping insane platform C library
algorithms, and Vladimir Marangozov wrote a beautiful cache-consicous
small-block allocator free of quadratic-time traps, we delayed enabling it
for years because of fear of increasing the size of the executable (it will
enabled by default in 2.3).  "Typical machines" are big enough now that the
tradeoff shifted.  Although I think "typical machines" may just mean the
underpowered ones Guido and I tend to use <wink>.




More information about the NCLUG mailing list