Chris Withers wrote:
Jamie Heilman wrote:
That depends on the cache replacement policy you need. If you're not tied to LFU then you can just switch to using my MemoryCache product. (With all the various caveats surrounding it, of course, python 2.2, patching Zope, etc.)
Why Python 2.2? What's the patching you do? What's 'etc'?
2.2 because 2.1 lacks ruthless efficiency. The stock OFS/Cache.py is insecure, and lacking features I want, thus, I rewrote it and included patches to adapt the existing managers to the improved API. There is no third thing.
Have you submitted a collector issue for all this? If so, I might try and work on it some time, although it's not an area I specialise in :-( I wonder if anyone on this list could help out?
Yes and no. Its issue 911. "Working on it" would require: $ cd your-zope-cvs-head $ w3m -dump http://audible.transient.net/zope/Cache.py > lib/python/OFS/Cache.py $ w3m -dump http://audible.transient.net/zope/cmassoc.diff | patch -p0 $ w3m -dump http://audible.transient.net/zope/cachemanagers.diff | patch -p0 $ # screw with the headers to lib/python/OFS/Cache.py to replace \ ZopeCorp's eyesore of a copyright preamble $ cvs commit Of course I'd happily invite peer review of my code. But none of that will fix that RAM Cache Manager's waste memory. Again, its just a choice that was made in RCM's design, less processing overhead w/the potential for more memory usage. -- Jamie Heilman http://audible.transient.net/~jamie/ "Most people wouldn't know music if it came up and bit them on the ass." -Frank Zappa