summaryrefslogtreecommitdiff
path: root/speed-test
diff options
context:
space:
mode:
Diffstat (limited to 'speed-test')
-rwxr-xr-xspeed-test14
1 files changed, 9 insertions, 5 deletions
diff --git a/speed-test b/speed-test
index 5351a82..4d6ffab 100755
--- a/speed-test
+++ b/speed-test
@@ -15,8 +15,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Excercise my B-tree implementation, for simple benchmarking purposes.
-# The benchmark gets a location and an operation count as command line
-# arguments.
+# The benchmark gets a location and nb of keys to use as command line
+# arguments --location=LOCATION and --keys=KEYS.
#
# If the location is the empty string, an in-memory node store is used.
# Otherwise it must be a non-existent directory name.
@@ -73,13 +73,13 @@ class SpeedTest(cliapp.Application):
raise Exception('You must set number of keys with --keys')
if not location:
- forest = larch.open_forest(key_size=key_size, node_size=node_size,
+ forest = larch.open_forest(allow_writes=True, key_size=key_size, node_size=node_size,
node_store=larch.NodeStoreMemory)
else:
if os.path.exists(location):
raise Exception('%s exists already' % location)
os.mkdir(location)
- forest = larch.open_forest(key_size=key_size, node_size=node_size,
+ forest = larch.open_forest(allow_writes=True, key_size=key_size, node_size=node_size,
dirname=location)
tree = forest.new_tree()
@@ -144,7 +144,11 @@ class SpeedTest(cliapp.Application):
# Report
def speed(result, i):
- return n / (result[i] - looptime[i])
+ if result[i] == looptime[i]:
+ # computer too fast for the number of "keys" used...
+ return float("infinity")
+ else:
+ return n / (result[i] - looptime[i])
def report(label, result):
cpu, wall = result
print '%-16s: %5.3f s (%8.1f/s) CPU; %5.3f s (%8.1f/s) wall' % \