1. 22 Oct, 2019 8 commits
  2. 11 Oct, 2019 3 commits
  3. 10 Oct, 2019 7 commits
  4. 09 Oct, 2019 7 commits
  5. 08 Oct, 2019 4 commits
  6. 07 Oct, 2019 7 commits
  7. 05 Oct, 2019 3 commits
  8. 04 Oct, 2019 1 commit
    • Julien Muchembled's avatar
      Optimize WorkflowHistoryList · 1ca655a3
      Julien Muchembled authored
      This is done by inheriting most of the code of ConflictFreeLog,
      i.e. using a doubly-linked list:
      - for fast iteration of the first elements, and in particular
        immediate access to the first element (used for creation date);
      - that keeps track of the history length;
      - that implement fast reverse iteration (although it could
        have been done without changing the data structure).
      
      The size of buckets is not fixed anymore to 16 items:
      like ConflictFreeLog, WorkflowHistoryList is also a good candidate
      to look at the estimated serialized size of the bucket in order to
      decide if elements should be added to a new one or not.
      Then developers won't have to care about using Pdata or not.
      
      The size is bigger than the ConflictFreeLog default,
      because workflow items look a lot alike and adding
      a few more is cheap when the ZODB compresses.
      
      No more optimized __getstate__ (except for workflow histories that
      have not been migrated) so BT export will be a bit more verbose.
      
      The BBB code is because of
        nexedi/erp5!934
      
      /reviewed-on nexedi/erp5!941
      1ca655a3