summaryrefslogtreecommitdiff
path: root/speed-test
diff options
context:
space:
mode:
Diffstat (limited to 'speed-test')
-rwxr-xr-xspeed-test17
1 files changed, 8 insertions, 9 deletions
diff --git a/speed-test b/speed-test
index 09c63a3..7a845e7 100755
--- a/speed-test
+++ b/speed-test
@@ -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]),