7
7
import os
8
8
import pickle
9
9
import shutil
10
+ from collections import Counter
10
11
11
12
import numpy as np
12
13
@@ -111,11 +112,11 @@ def print_compiledir_content():
111
112
compiledir = config .compiledir
112
113
table = []
113
114
table_multiple_ops = []
114
- table_op_class = {}
115
+ table_op_class = Counter ()
115
116
zeros_op = 0
116
117
big_key_files = []
117
118
total_key_sizes = 0
118
- nb_keys = {}
119
+ nb_keys = Counter ()
119
120
for dir in os .listdir (compiledir ):
120
121
filename = os .path .join (compiledir , dir , "key.pkl" )
121
122
if not os .path .exists (filename ):
@@ -125,9 +126,7 @@ def print_compiledir_content():
125
126
keydata = pickle .load (file )
126
127
ops = list ({x for x in flatten (keydata .keys ) if isinstance (x , Op )})
127
128
# Whatever the case, we count compilations for OP classes.
128
- for op_class in {op .__class__ for op in ops }:
129
- table_op_class .setdefault (op_class , 0 )
130
- table_op_class [op_class ] += 1
129
+ table_op_class .update ({op .__class__ for op in ops })
131
130
if len (ops ) == 0 :
132
131
zeros_op += 1
133
132
else :
@@ -159,7 +158,6 @@ def print_compiledir_content():
159
158
if size > max_key_file_size :
160
159
big_key_files .append ((dir , size , ops ))
161
160
162
- nb_keys .setdefault (len (keydata .keys ), 0 )
163
161
nb_keys [len (keydata .keys )] += 1
164
162
except OSError :
165
163
pass
@@ -198,8 +196,7 @@ def print_compiledir_content():
198
196
),
199
197
underline = "+" ,
200
198
)
201
- table_op_class = sorted (table_op_class .items (), key = lambda t : t [1 ])
202
- for op_class , nb in table_op_class :
199
+ for op_class , nb in reversed (table_op_class .most_common ()):
203
200
print (op_class , nb )
204
201
205
202
if big_key_files :
0 commit comments