1. 22 Nov, 2002 1 commit
  2. 16 Oct, 2002 1 commit
  3. 14 Oct, 2002 1 commit
  4. 05 Oct, 2002 1 commit
  5. 17 Sep, 2002 1 commit
    • Guido van Rossum's avatar
      Add -y, simulating a variation of the existing ZEO cache which copies · b1cffb9f
      Guido van Rossum authored
      hits found in the non-current file into the current file.
      
      For the 40-hour trace starting on Sept 4 at 6pm, this increases the
      hit rate from 83.2% to 87.0% (IOW a decrease in miss rate from 16.8%
      to 13%):
      
      ZEOCacheSimulation, cache size 200,000,000 bytes
        START TIME  DURATION    LOADS     HITS INVALS WRITES  FLIPS HITRATE
      Sep  4 18:00  40:36:34  1420070  1181176  16198  10014     15  83.2%
      
      AltZEOCacheSimulation, cache size 200,000,000 bytes
        START TIME  DURATION    LOADS     HITS INVALS WRITES  FLIPS HITRATE
      Sep  4 18:00  40:36:34  1420070  1235770  15384  10014     25  87.0%
      b1cffb9f
  6. 10 Sep, 2002 3 commits
    • Guido van Rossum's avatar
      Switch back to decimal MB, to match the actual ZEO default. Change · fe37bbe2
      Guido van Rossum authored
      the BuddyCacheSimulation constructor to round up the cachelimit so
      that it reports the actual value used.
      fe37bbe2
    • Guido van Rossum's avatar
      Rewrite the simple free list allocator using Tim's suggestion of · 60185c00
      Guido van Rossum authored
      keeping track of the beginning and end address of all free blocks, to
      make merging of adjacent blocks a breeze.  The free list is no longer
      kept sorted order.
      
      Unfortunately, this still performs poorly.  It has a higher hit rate
      (with the 38 minute trace I'm using; the longer traces take too long)
      than the buddy system allocator with the same arena size, it is *much*
      slower, the memory usage is under 20% (!!!), and despite a roving
      pointer, the allocation loop is taken an average of 692 times per
      allocation.  At the end of the simulation the free list contains 1039
      blocks; I presume this is a steady state approximating the average
      behavior.  (There are 2280 allocated blocks at that point, roughly
      confirming Knuth's "50% rule" and suggesting that the block merge code
      works properly.)
      
      I guess the next idea is separate free lists per size.
      60185c00
    • Guido van Rossum's avatar
  7. 09 Sep, 2002 3 commits
  8. 06 Sep, 2002 5 commits