• Julien Muchembled's avatar
    Rewrite storage cache of client · edde1fe3
    Julien Muchembled authored
    - Stop using a list of (in)validated tid (hence removal of RevisionIndex),
      because it can't work in all cases and would even cause memory leaks.
      For example, this bug could lead to ConflictError with a single client.
      Fixit it also requires that database backends always return the next serial.
    - Several performance improvements. The most important one is when the latest
      version of an object is cached: it inherits the access counter of the
      previous one (for the same oid), which gets in turn its counter reset.
    - Do not waste CPU evaluating the real size taken by an entry in memory.
      Just use 'len' on the value (which is always a pickle data, i.e. a string).
    
    git-svn-id: https://svn.erp5.org/repos/neo/trunk@2711 71dcc9de-d417-0410-9af5-da40c76e7ee4
    edde1fe3
cache.py 8.64 KB