- 22 Nov, 2002 1 commit
-
-
Guido van Rossum authored
records (requiring occasional seeks).
-
- 16 Oct, 2002 1 commit
-
-
Guido van Rossum authored
-
- 14 Oct, 2002 1 commit
-
-
Guido van Rossum authored
-
- 05 Oct, 2002 1 commit
-
-
Guido van Rossum authored
-
- 17 Sep, 2002 1 commit
-
-
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%
-
- 10 Sep, 2002 3 commits
-
-
Guido van Rossum authored
the BuddyCacheSimulation constructor to round up the cachelimit so that it reports the actual value used.
-
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.
-
Guido van Rossum authored
-
- 09 Sep, 2002 3 commits
-
-
Guido van Rossum authored
simple free list using a mix of exact-fit and last-fit with a roving pointer as suggested by Tim. Use -f to use this version. Renamed BuddyNode to BlockNode since it is now used by both allocators. Moved some code around in an attempt to organize it more top-down. Moved the report printing into the Simulation base class. Print the class name and exact cache size before the header; skip the final report printing if only one previous report was printed.
-
Guido van Rossum authored
1000*1000. This makes it easier to specify cache sizes for the buddy system that don't have to be rounded up to the next power of two. It does make future reported results incompatible with past results.
-
Guido van Rossum authored
allocator.
-
- 06 Sep, 2002 5 commits
-
-
Guido van Rossum authored
invalidations instead of only the ones that hit the cache. - Support reading gzipped files. This is triggered automatically when the filename ends in .gz. Also support reading from stdin (pass '-' as filename). - Widen the FLIPS column by one to match the EVICTS column width of the LRU simulation. - Support simulating alternative caching strategies. For now, only LRU is supported, triggered by the -l option. - Change the Simulation base class to store the cachelimit argument. (The constructor signature must be the same across all subclasses.)
-
Guido van Rossum authored
base class.
-
Guido van Rossum authored
report overall statistics for all columns.
-
Guido van Rossum authored
-
Guido van Rossum authored
ZEO_CACHE_TRACE set (see stats.py for file format description).
-