1010REPEAT = 10
1111
1212WB , ML = 12 , 5 # defaults used as a reference
13+ WBITS = range (9 , 16 )
14+ MEMLEVELS = range (1 , 10 )
1315
1416
1517def benchmark (data ):
1618 size = collections .defaultdict (dict )
1719 duration = collections .defaultdict (dict )
1820
19- for wbits in range ( 9 , 16 ) :
20- for memLevel in range ( 1 , 10 ) :
21+ for wbits in WBITS :
22+ for memLevel in MEMLEVELS :
2123 encoder = zlib .compressobj (wbits = - wbits , memLevel = memLevel )
2224 encoded = []
2325
@@ -43,14 +45,14 @@ def benchmark(data):
4345 print ("=" * 79 )
4446 print ("Compression ratio" )
4547 print ("=" * 79 )
46- print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in range ( 1 , 10 ) ]))
47- for wbits in range ( 9 , 16 ) :
48+ print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in MEMLEVELS ]))
49+ for wbits in WBITS :
4850 print (
4951 "\t " .join (
5052 [str (wbits )]
5153 + [
5254 f"{ 100 * (1 - size [wbits ][memLevel ] / raw_size ):.1f} %"
53- for memLevel in range ( 1 , 10 )
55+ for memLevel in MEMLEVELS
5456 ]
5557 )
5658 )
@@ -60,14 +62,14 @@ def benchmark(data):
6062 print ("=" * 79 )
6163 print ("CPU time" )
6264 print ("=" * 79 )
63- print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in range ( 1 , 10 ) ]))
64- for wbits in range ( 9 , 16 ) :
65+ print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in MEMLEVELS ]))
66+ for wbits in WBITS :
6567 print (
6668 "\t " .join (
6769 [str (wbits )]
6870 + [
6971 f"{ 1000 * duration [wbits ][memLevel ]:.1f} ms"
70- for memLevel in range ( 1 , 10 )
72+ for memLevel in MEMLEVELS
7173 ]
7274 )
7375 )
@@ -77,14 +79,14 @@ def benchmark(data):
7779 print ("=" * 79 )
7880 print (f"Size vs. { WB } \\ { ML } " )
7981 print ("=" * 79 )
80- print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in range ( 1 , 10 ) ]))
81- for wbits in range ( 9 , 16 ) :
82+ print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in MEMLEVELS ]))
83+ for wbits in WBITS :
8284 print (
8385 "\t " .join (
8486 [str (wbits )]
8587 + [
8688 f"{ 100 * (size [wbits ][memLevel ] / size [WB ][ML ] - 1 ):.1f} %"
87- for memLevel in range ( 1 , 10 )
89+ for memLevel in MEMLEVELS
8890 ]
8991 )
9092 )
@@ -94,14 +96,14 @@ def benchmark(data):
9496 print ("=" * 79 )
9597 print (f"Time vs. { WB } \\ { ML } " )
9698 print ("=" * 79 )
97- print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in range ( 1 , 10 ) ]))
98- for wbits in range ( 9 , 16 ) :
99+ print ("\t " .join (["wb \\ ml" ] + [str (memLevel ) for memLevel in MEMLEVELS ]))
100+ for wbits in WBITS :
99101 print (
100102 "\t " .join (
101103 [str (wbits )]
102104 + [
103105 f"{ 100 * (duration [wbits ][memLevel ] / duration [WB ][ML ] - 1 ):.1f} %"
104- for memLevel in range ( 1 , 10 )
106+ for memLevel in MEMLEVELS
105107 ]
106108 )
107109 )
0 commit comments