diff options
Diffstat (limited to 'speed-test')
-rwxr-xr-x | speed-test | 17 |
1 files changed, 8 insertions, 9 deletions
@@ -83,6 +83,10 @@ def main(): # Create list of keys. keys = ['%0*d' % (key_size, i) for i in xrange(n)] + ranges = [] + range_len = 10 + for i in range(0, len(keys) - range_len): + ranges.append((keys[i], keys[i+range_len-1])) # Calibrate. looptime = measure(keys, lambda key: None, lambda: None) @@ -106,14 +110,13 @@ def main(): lambda: None) - looptime # Measure range lookups. - random.shuffle(keys) - max_key = max(keys) + random.shuffle(ranges) if do_profile: - profile(keys, lambda key: tree.lookup_range(key, max_key), + profile(ranges, lambda x: tree.lookup_range(x[0], x[1]), lambda: None, 'lookup-range') else: - lookup_range_time = measure(keys, - lambda key: tree.lookup_range(key, max_key), + lookup_range_time = measure(ranges, + lambda x: tree.lookup_range(x[0], x[1]), lambda: None) - looptime # Measure inserts into existing tree. @@ -136,12 +139,8 @@ def main(): # Measure remove_range. This requires building a new tree. keys.sort() - ranges = [] - range_len = 10 for key in keys: tree.insert(key, value) - for i in range(0, len(keys), range_len): - ranges.append((keys[i], keys[i+range_len-1])) random.shuffle(ranges) if do_profile: profile(ranges, lambda pair: tree.remove_range(pair[0], pair[1]), |