File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import random
2+
3+ import ctools
4+
5+ max_item = 65536
6+
7+
8+ def get_seq ():
9+ seq = list (range (max_item ))
10+ random .shuffle (seq )
11+ return seq
12+
13+
14+ def get_map ():
15+ return {i : i for i in get_seq ()}
16+
17+
18+ def get_sorted_map ():
19+ s = ctools .SortedMap ()
20+ s .update (get_map ())
21+ return s
22+
23+
24+ @benchmark_setup (seq = get_seq )
25+ def benchmark_sorted_map_set (seq ):
26+ s = ctools .SortedMap ()
27+ for i in seq :
28+ s [i ] = i
29+
30+
31+ @benchmark_setup (seq = get_seq )
32+ def benchmark_dict_set (seq ):
33+ d = {}
34+ for i in seq :
35+ d [i ] = i
36+
37+
38+ @benchmark_setup (v = get_sorted_map )
39+ def benchmark_sorted_map_get (v ):
40+ for i in get_seq ():
41+ k = v [i ]
42+
43+
44+ @benchmark_setup (v = get_map )
45+ def benchmark_dict_get (v ):
46+ for i in get_seq ():
47+ k = v [i ]
48+
49+
50+ @benchmark_setup (v = get_map )
51+ def benchmark_dict_del (v ):
52+ for i in get_seq ():
53+ del v [i ]
54+
55+
56+ @benchmark_setup (v = get_sorted_map )
57+ def benchmark_sorted_map_del (v ):
58+ for i in get_seq ():
59+ del v [i ]
You can’t perform that action at this time.
0 commit comments