-
	>c       sg  d  Z  d k Z d k Z d k Z d k Z d   Z d   Z d f  d     YZ d e f d     YZ d e f d	     YZ	 d
 e f d     YZ
 d f  d     YZ d e
 f d     YZ d e f d     YZ d Z d f  d     YZ d   Z d f  d     YZ d e f d     YZ e d  Z d   Z d   Z d   Z e d j o e i e    n d S(   sE  Cache simulation.

Usage: simul.py [-bflyz] [-X] [-s size] tracefile

Use one of -b, -f, -l, -y or -z select the cache simulator:
-b: buddy system allocator
-f: simple free list allocator
-l: idealized LRU (no allocator)
-y: variation on the existing ZEO cache that copies to current file
-z: existing ZEO cache (default)

Options:
-s size: cache size in MB (default 20 MB)
-X: enable heuristic checking for misaligned records: oids > 2**32
    will be rejected; this requires the tracefile to be seekable

Note: the buddy system allocator rounds the cache size up to a power of 2
Nc    s   t  i |  IJt  i t IJd  S(   N(   s   syss   stderrs   msgs   __doc__(   s   msg(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   usage' s    c     s  d d } d | } t } d }
 y# t i t i d d  \ } }  Wn& t i
 j
 o } t |  d Sn Xx | D] \ } }	 | d j o
 t } n | d j o
 t } n | d	 j o
 t } n | d
 j o
 t } n | d j o
 t } n | d j o t t |	  |  } n | d j o
 d }
 n qs Wt |   d j o t d  d Sn |  d } | i d  o y d  k } Wn$ t j
 o t i d IJd Sn Xy | i | d  } Wn0 t j
 o$ } t i d | | f IJd Sn Xna | d j o t i } nG y t | d  } Wn0 t j
 o$ } t i d | | f IJd Sn X| |  } | i    d } d } | i# } t% i& } x d o | d  } t |  d j  o Pn | d 7} | d |  \ } } | d j o qn | d  } t |  d j  o Pn | d 7} | d 7} | d |  \ } } | d @| d @| d @| d @f \ } } } } | i0 | | | | | | |  qW| i1   d Sd  S(   Ni  i   i    i   s   bflyzs:Xi   s   -bs   -fs   -ls   -ys   -zs   -ss   -Xs"   exactly one file argument requireds   .gzs)   can't read gzipped files (no module gzip)s   rbs   can't open %s: %ss   -i   s   >iii   s   >8s8si i   i~   (2   s   MBs
   cachelimits   ZEOCacheSimulations   simclasss	   heuristics   getopts   syss   argvs   optss   argss   errors   msgs   usages   os   as   BuddyCacheSimulations   SimpleCacheSimulations   LRUCacheSimulations   AltZEOCacheSimulations   ints   floats   lens   filenames   endswiths   gzips   ImportErrors   stderrs   opens   fs   IOErrors   stdins   sims   printheaders   offsets   recordss   reads   f_reads   structs   unpacks   struct_unpacks   rs   tss   codes   oids   serials   dlens   versions   currents   events   finish(   s   argss   struct_unpacks   oids   tss   f_reads   msgs   codes   offsets   serials   as	   heuristics   dlens   MBs
   cachelimits   fs   os   filenames   currents   rs   sims   versions   recordss   gzips   simclasss   opts(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   main+ s    

#
	 






		
		 


.$
s
   Simulationc      sq   t  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d Z	 d Z
 d	   Z d
 Z d   Z d   Z RS(   s  Base class for simulations.

    The driver program calls: event(), printheader(), finish().

    The standard event() method calls these additional methods:
    write(), load(), inval(), report(), restart(); the standard
    finish() method also calls report().

    c    sD   | |  _  t |  _ d |  _ d |  _ d |  _ d |  _ |  i   d  S(   Ni    (	   s
   cachelimits   selfs   Nones   epochs   total_loadss
   total_hitss   total_invalss   total_writess   restart(   s   selfs
   cachelimit(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__ s    						c    s1   d |  _ d |  _ d |  _ d |  _ t |  _ d  S(   Ni    (   s   selfs   loadss   hitss   invalss   writess   Nones   ts0(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   restart s
    				c    s   |  i t j o* | |  _ |  i t j o | |  _ n n | |  _ | o | d @d d d f j oq | d j o2 |  i d 7_ |  i	 d 7_	 |  i
 | |  n/ |  i d 7_ |  i d 7_ |  i | |  nH | d @d j o |  i |  n& | d j o |  i   |  i   n d  S(	   Nip   i    i0   iP   i:   i   i   i    (   s   selfs   ts0s   Nones   tss   epochs   ts1s   dlens   codes   writess   total_writess   writes   oids   loadss   total_loadss   loads   invals   reports   restart(   s   selfs   tss   dlens   _versions   codes   _currents   oids   _serial(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   event s$    		!
c    s   d  S(   N(    (   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   write s    c    s   d  S(   N(    (   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   load s    c    s   d  S(   N(    (   s   selfs   oid(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   inval s    s    %12s %9s %8s %8s %6s %6s %6s %6ss   *** please override ***c  	  sO   d |  i i t |  i  f GH|  i d d d d d d |  i i   d f GHd  S(	   Ns   %s, cache size %s bytess
   START TIMEs   DURATIONs   LOADSs   HITSs   INVALSs   WRITESs   HITRATE(   s   selfs	   __class__s   __name__s	   addcommass
   cachelimits   formats	   extranames   upper(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   printheader s    i    c    s   |  i o |  i d 7_ |  i t i |  i  d d !t |  i |  i  |  i |  i	 |  i
 |  i t |  |  i  t |  i |  i	  f GHn d  S(   Ni   i   i(   s   selfs   loadss   nreportss   formats   times   ctimes   ts0s   durations   ts1s   hitss   invalss   writess   getattrs	   extranames   hitrate(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   report s    
c    s   |  i   |  i d j oz |  i d t i |  i  d d !t |  i |  i  |  i	 |  i
 |  i |  i t |  d |  i  t |  i	 |  i
  f GHn d  S(   Ni   s    OVERALLi   is   total_(   s   selfs   reports   nreportss   formats   times   ctimes   epochs   durations   ts1s   total_loadss
   total_hitss   total_invalss   total_writess   getattrs	   extranames   hitrate(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   finish s    
(   s   __name__s
   __module__s   __doc__s   __init__s   restarts   events   writes   loads   invals   formats	   extranames   printheaders   nreportss   reports   finish(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys
   Simulation s   
 								
s   ZEOCacheSimulationc      sA   t  Z d  Z d Z d   Z d   Z d   Z d   Z d   Z RS(   s   Simulate the current (ZEO 1.0 and 2.0) ZEO cache behavior.

    This assumes the cache is not persistent (we don't know how to
    simulate cache validation.)

    s   flipsc    s   t  i |  |  d |  _ d  S(   Ni    (   s
   Simulations   __init__s   selfs
   cachelimits   total_flips(   s   selfs
   cachelimit(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__s    c    sA   t  i |   d |  _ d d g |  _ h  h  g |  _ d |  _ d  S(   Ni    i   (   s
   Simulations   restarts   selfs   flipss   filesizes   fileoidss   current(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   restart	s
    	c    sn   |  i |  i i |  p |  i d |  i i |  o" |  i d 7_ |  i d 7_ n |  i | |  d  S(   Ni   (	   s   selfs   fileoidss   currents   gets   oids   hitss
   total_hitss   writes   size(   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   loads    8c    s   | d d } |  i |  i | |  i d j oR |  i d 7_ |  i d 7_ d |  i |  _ d |  i |  i <h  |  i |  i <n |  i |  i c | 7<d |  i |  i | <d  S(   Ni   i   i   i   i   (	   s   sizes   selfs   filesizes   currents
   cachelimits   flipss   total_flipss   fileoidss   oid(   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   writes    "c    s   |  i |  i i |  o3 |  i d 7_ |  i d 7_ |  i |  i | =nV |  i d |  i i |  o7 |  i d 7_ |  i d 7_ |  i d |  i | =n d  S(   Ni   (   s   selfs   fileoidss   currents   gets   oids   invalss   total_invals(   s   selfs   oid(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   inval*s    (	   s   __name__s
   __module__s   __doc__s	   extranames   __init__s   restarts   loads   writes   inval(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   ZEOCacheSimulation s    		
		s   AltZEOCacheSimulationc      s   t  Z d  Z d   Z RS(   s5  A variation of the ZEO cache that copies to the current file.

    When a hit is found in the non-current cache file, it is copied to
    the current cache file.  Exception: when the copy would cause a
    cache flip, we don't copy (this is part laziness, part concern
    over causing extraneous flips).
    c    s  |  i |  i i |  o" |  i d 7_ |  i d 7_ n |  i d |  i i |  o |  i d 7_ |  i d 7_ | d d } |  i |  i | |  i	 d j oC |  i |  i c | 7<d |  i |  i | <|  i d |  i | =n n |  i
 | |  d  S(   Ni   i   i   i   (   s   selfs   fileoidss   currents   gets   oids   hitss
   total_hitss   sizes   filesizes
   cachelimits   write(   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   load>s    "(   s   __name__s
   __module__s   __doc__s   load(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   AltZEOCacheSimulation4s    s   LRUCacheSimulationc      s;   t  Z d Z d   Z d   Z d   Z d   Z d   Z RS(   Ns   evictsc    s   t  i |  |  d |  _ d  S(   Ni    (   s
   Simulations   __init__s   selfs
   cachelimits   total_evicts(   s   selfs
   cachelimit(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__Rs    c    sQ   t  i |   d |  _ h  |  _ d |  _ t t t  |  _ |  i i	 |  i  d  S(   Ni    (
   s
   Simulations   restarts   selfs   evictss   caches   sizes   Nodes   Nones   heads
   linkbefore(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   restartXs    			c    se   |  i i |  } | t j	 o2 |  i d 7_ |  i d 7_ | i |  i	  n |  i
 | |  d  S(   Ni   (   s   selfs   caches   gets   oids   nodes   Nones   hitss
   total_hitss
   linkbefores   heads   writes   size(   s   selfs   oids   sizes   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   loadcs    c    s   |  i i |  } | t j	 o  | i   |  i | i 8_ n t | |  } | |  i | <| i	 |  i
  |  i | 7_ xk |  i |  i j oW |  i d 7_ |  i d 7_ |  i
 i } | i   |  i | i =|  i | i 8_ q} Wd  S(   Ni   (   s   selfs   caches   gets   oids   nodes   Nones   unlinks   sizes   Nodes
   linkbefores   heads
   cachelimits   evictss   total_evictss   next(   s   selfs   oids   sizes   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   writels&    
   
 c    sk   |  i i |  } | t j	 oH |  i d 7_ |  i d 7_ | i   |  i | =|  i	 | i	 8_	 n d  S(   Ni   (
   s   selfs   caches   gets   oids   nodes   Nones   invalss   total_invalss   unlinks   size(   s   selfs   oids   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   invals     
 
(   s   __name__s
   __module__s	   extranames   __init__s   restarts   loads   writes   inval(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   LRUCacheSimulationNs   					s   Nodec      sA   t  Z d  Z e Z d d d d g Z d   Z d   Z d   Z RS(   s   Node in a doubly-linked list, storing oid and size as payload.

    A node can be linked or unlinked; in the latter case, next and
    prev are None.  Initially a node is unlinked.

    s   prevs   nexts   oids   sizec    s&   | |  _  | |  _ t |  _ |  _ d  S(   N(   s   oids   selfs   sizes   Nones   prevs   next(   s   selfs   oids   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__s    		c    sI   |  i } |  i } | t j	 o& | | _ | | _ t |  _ |  _ n d  S(   N(   s   selfs   prevs   nexts   None(   s   selfs   prevs   next(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   unlinks    		   		c    sP   |  i   | i } | t j o
 | } n | |  _ | |  _ |  | _ | _ d  S(   N(   s   selfs   unlinks   nexts   prevs   None(   s   selfs   nexts   prev(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys
   linkbefores    
	 
		(	   s   __name__s
   __module__s   __doc__s   types   __metaclass__s	   __slots__s   __init__s   unlinks
   linkbefore(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   Nodes    		s   BuddyCacheSimulationc      s5   t  Z d   Z d   Z d   Z d   Z d   Z RS(   Nc    s   t  i |  t |   d  S(   N(   s   LRUCacheSimulations   __init__s   selfs   roundups
   cachelimit(   s   selfs
   cachelimit(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__s    c    s&   t  i |   |  i |  i  |  _ d  S(   N(   s   LRUCacheSimulations   restarts   selfs   allocatorFactorys
   cachelimits	   allocator(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   restarts    c    s   t  |  Sd  S(   N(   s   BuddyAllocators   size(   s   selfs   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   allocatorFactorys    c    s!  |  i i |  } | t j	 o0 | i   |  i | i 8_ |  i i	 |  n x d o |  i i
 |  } | t j	 o Pn |  i i } |  i d 7_ |  i d 7_ | i   |  i | i =|  i | i 8_ |  i i	 |  qR W| | _ | |  i | <| i |  i  |  i | i 7_ d  S(   Ni   (   s   selfs   caches   gets   oids   nodes   Nones   unlinks   sizes	   allocators   frees   allocs   heads   nexts   evictss   total_evictss
   linkbefore(   s   selfs   oids   sizes   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   writes0    
   
 	c    s{   |  i i |  } | t j	 oX |  i d 7_ |  i d 7_ | i   |  i | =|  i	 | i	 8_	 |  i
 i |  n d  S(   Ni   (   s   selfs   caches   gets   oids   nodes   Nones   invalss   total_invalss   unlinks   sizes	   allocators   free(   s   selfs   oids   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   invals     
 
 (   s   __name__s
   __module__s   __init__s   restarts   allocatorFactorys   writes   inval(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   BuddyCacheSimulations
   				s   SimpleCacheSimulationc      s   t  Z d   Z d   Z RS(   Nc    s   t  |  Sd  S(   N(   s   SimpleAllocators   size(   s   selfs   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   allocatorFactorys    c    s   t  i |   |  i i   d  S(   N(   s   BuddyCacheSimulations   finishs   selfs	   allocators   report(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   finishs    (   s   __name__s
   __module__s   allocatorFactorys   finish(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   SimpleCacheSimulations   	i   s   BuddyAllocatorc      s/   t  Z d   Z d   Z d   Z d d  Z RS(   Nc    s   t  |  } | |  _ h  |  _ h  |  _ t } xC | | j o5 t t t  |  i | <} | i
 |  | | 7} q0 Wt t | d  } | |  i d <| i
 |  i |  d  S(   Ni    (   s   roundups
   cachelimits   selfs   avails   nodess   MINSIZEs   ks   Nodes   Nones   ns
   linkbefores	   BlockNodes   node(   s   selfs
   cachelimits   nodes   ks   n(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__s    			 c    s   t  |  } | } xK | |  i j o6 |  i | } | i } | | j	 o Pn | | 7} q Wt	 S| i
   | i } xb | | j oT | d } | | _ t t	 | | i |  } | |  i | i <| i |  i |  qv Wd | _ | Sd  S(   Ni   i   (   s   roundups   sizes   ks   selfs
   cachelimits   avails   heads   nexts   nodes   Nones   unlinks   size2s	   BlockNodes   addrs   buddys   nodess
   linkbefores   oid(   s   selfs   sizes   nodes   heads   buddys   size2s   k(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   allocs,     	
	 
 		c    s   t  | _ x | i |  i j  o | i | i A} |  i | } | i t  j	 p | i | i j o Pn | i
   | i | i j  o |  i | i =| } n |  i | i =| i d 9_ q W| i |  i | i  d  S(   Ni   (   s   Nones   nodes   oids   sizes   selfs
   cachelimits   addrs
   buddy_addrs   nodess   buddys   unlinks
   linkbefores   avail(   s   selfs   nodes
   buddy_addrs   buddy(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   frees$      	  #

 s    c    s   | o | Gn t } d } } x | |  i j o |  i | } | i	 } d } x% | | j	 o | d 7} | i	 } qQ W| o d | | f Gn | | 7} | | | 7} | | 7} q" Wd | | f GHd  S(   Ni    i   s   %d:%ds	   -- %d, %d(   s   msgs   MINSIZEs   sizes   blockss   bytess   selfs
   cachelimits   avails   heads   nexts   nodes   count(   s   selfs   msgs   nodes   heads   blockss   bytess   counts   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   dump1s&    
 	 

(   s   __name__s
   __module__s   __init__s   allocs   frees   dump(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   BuddyAllocators   			c    s-   t  } x | |  j  o | | 7} q	 W| Sd  S(   N(   s   MINSIZEs   ks   size(   s   sizes   k(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   roundupDs
     s   SimpleAllocatorc      s8   t  Z d   Z d   Z d   Z d   Z d d  Z RS(   Nc    s   | |  _  t t d d  |  _ |  i |  _ t t | d  } | i |  i  h  | d <|  _ h  | | <|  _	 d |  _
 d |  _ d |  _ | |  _ d |  _ d |  _ d |  _ d  S(   Ni    i   (   s	   arenasizes   selfs	   BlockNodes   Nones   avails   rovers   nodes
   linkbefores   taglos   taghis   nallocss   nfreess
   allocloopss	   freebytess
   freeblockss
   allocbytess   allocblocks(   s   selfs	   arenasizes   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__Ls    							c    s7   d |  i |  i |  i |  i |  i |  i |  i f GHd  S(   Ns-   NA=%d AL=%d NF=%d ABy=%d ABl=%d FBy=%d FBl=%d(   s   selfs   nallocss
   allocloopss   nfreess
   allocbytess   allocblockss	   freebytess
   freeblocks(   s   self(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   report]s    c    sz  |  i d 7_ |  i } } xN d oF |  i d 7_ | i | j o Pn | i } | | j o t Sn q W| i | j ox | i |  _ | i   |  i	 | i
 =|  i | i
 | =|  i d 8_ |  i d 7_ |  i | 8_ |  i | 7_ | Sn t t | | i
  } |  i	 | i
 =| i | 8_ | i
 | 7_
 | |  i	 | i
 <|  i d 7_ |  i | 8_ |  i | 7_ | Sd  S(   Ni   (   s   selfs   nallocss   rovers   stops
   allocloopss   sizes   nexts   Nones   unlinks   taglos   addrs   taghis
   freeblockss   allocblockss	   freebytess
   allocbytess	   BlockNodes   node(   s   selfs   sizes   nodes   rovers   stop(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   allocds<     	
 c    s  |  i d 7_ |  i d 7_ |  i d 8_ |  i | i 7_ |  i | i 8_ | i |  i	  | |  i
 | i <| |  i | i | i <|  i i | i  } | t j	 oy | i   |  i d 8_ |  i
 | i =|  i | i | i =|  i
 | i =| i | _ | i | i 7_ | |  i
 | i <n |  i
 i | i | i  } | t j	 o{ | i   |  i d 8_ |  i
 | i =|  i | i | i =|  i | i | i =| i | i 7_ | |  i | i | i <n | |  _ d  S(   Ni   (   s   selfs   nfreess
   freeblockss   allocblockss	   freebytess   nodes   sizes
   allocbytess
   linkbefores   avails   taglos   addrs   taghis   gets   xs   Nones   unlinks   rover(   s   selfs   nodes   x(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   frees8    

s    c    s~   | o | Gn d } d } |  i i } x5 | |  i j	 o$ | | i 7} | d 7} | i } q* W| Gd G| Gd GH|  i   d  S(   Ni    i   s   free blocks,s
   free bytes(	   s   msgs   counts   bytess   selfs   avails   nexts   nodes   sizes   report(   s   selfs   msgs   counts   bytess   node(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   dumps     
(   s   __name__s
   __module__s   __init__s   reports   allocs   frees   dump(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   SimpleAllocatorJs
   			"	#s	   BlockNodec      s   t  Z d g Z d   Z RS(   Ns   addrc    s    t  i |  | |  | |  _ d  S(   N(   s   Nodes   __init__s   selfs   oids   sizes   addr(   s   selfs   oids   sizes   addr(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   __init__s    (   s   __name__s
   __module__s	   __slots__s   __init__(    (    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys	   BlockNodes   	c    sd  d  k  } d  k } d } d d } |  |  } g  } d } d } x| d j  oxM | o | d d | j o0 | i	 |  \ }	 } | i |  | d 8} qS W| i d d  } | i d d  }
 | i |  } | t j o! d GH| i d	 | | f  Pn% | d 7} | i | | |
 | f  | d } | | d j o | i d	 | | f  n qC Wd  S(
   Nid   i   i   i    i  i   i  s
   out of mems   T=%4d: %d blocks;(   s   randoms   heapqs
   reportfreqs
   cachelimits   factorys   caches   queues   Ts   blockss   heappops   times   nodes   frees   randints   sizes   lifetimes   allocs   Nones   dumps   heappush(   s   factorys   nodes   heapqs   randoms   blockss
   cachelimits   caches   queues   Ts   times   lifetimes
   reportfreqs   size(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   testallocators8    		
   

c    s   d d | t d |   Sd  S(   Ns   %5.1f%%f100.0i   (   s   hitss   maxs   loads(   s   loadss   hits(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   hitrates    c    sk   t  |  d  \ } } t  | d  \ } } | o d | | | f Sn | o d | | f Sn d | Sd  S(   Ni<   s   %d:%02d:%02ds   %d:%02ds   %d(   s   divmods   secss   mms   sss   hh(   s   secss   mms   sss   hh(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   durations    c    s   d t  |   f \ } } | d d j o d | d f \ } } n t |  d } x2 | d j o$ | |  d | | } | d 8} qV W| | Sd  S(   Ns    i    s   -i   i   s   ,(   s   strs   ns   signs   ss   lens   i(   s   ns   ss   is   sign(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys	   addcommass     s   __main__(   s   __doc__s   syss   times   getopts   structs   usages   mains
   Simulations   ZEOCacheSimulations   AltZEOCacheSimulations   LRUCacheSimulations   Nodes   BuddyCacheSimulations   SimpleCacheSimulations   MINSIZEs   BuddyAllocators   roundups   SimpleAllocators	   BlockNodes   testallocators   hitrates   durations	   addcommass   __name__s   exit(   s   Nodes   usages   BuddyCacheSimulations
   Simulations   syss   durations   getopts	   addcommass	   BlockNodes   SimpleAllocators   LRUCacheSimulations   structs   AltZEOCacheSimulations   testallocators   MINSIZEs   times   SimpleCacheSimulations   BuddyAllocators   hitrates   mains   roundups   ZEOCacheSimulation(    (    s1   /usr/pkg/lib/python2.2/site-packages/ZEO/simul.pys   ?  s0   						al<?(5	O	l 		
	
