divmod-dev team mailing list archive
-
divmod-dev team
-
Mailing list archive
-
Message #00489
[Merge] lp:~divmod-dev/divmod.org/1208298-batch-deletion-benchmark into lp:divmod.org
Tristan Seligmann has proposed merging lp:~divmod-dev/divmod.org/1208298-batch-deletion-benchmark into lp:divmod.org.
Requested reviews:
Divmod-dev (divmod-dev)
Related bugs:
Bug #1208298 in Divmod Axiom: "Benchmark for item batch deletion"
https://bugs.launchpad.net/divmod-axiom/+bug/1208298
For more details, see:
https://code.launchpad.net/~divmod-dev/divmod.org/1208298-batch-deletion-benchmark/+merge/178485
--
https://code.launchpad.net/~divmod-dev/divmod.org/1208298-batch-deletion-benchmark/+merge/178485
Your team Divmod-dev is requested to review the proposed merge of lp:~divmod-dev/divmod.org/1208298-batch-deletion-benchmark into lp:divmod.org.
=== added file 'Axiom/benchmark/batch-deletion'
--- Axiom/benchmark/batch-deletion 1970-01-01 00:00:00 +0000
+++ Axiom/benchmark/batch-deletion 2013-08-05 03:05:33 +0000
@@ -0,0 +1,45 @@
+#!/usr/bin/python
+
+# Benchmark of batch Item deletion. Accepts no parameters. Reports one
+# statistic, the number of milliseconds it takes to batch delete an Item.
+
+import sys, time
+
+from axiom.store import Store
+from axiom.attributes import integer
+
+import benchlib
+
+
+def benchmark():
+ SomeItem = benchlib.itemTypeWithSomeAttributes([integer])
+
+ store = Store()
+ outerCounter = range(10)
+ innerCounter = range(1000)
+
+ def _create():
+ benchlib.createSomeItems(store, SomeItem, {}, innerCounter)
+
+ def _delete():
+ store.query(SomeItem).deleteFromStore()
+
+ timer = 0.0
+ for i in outerCounter:
+ store.transact(_create)
+ before = time.time()
+ store.transact(_delete)
+ after = time.time()
+ timer += after - before
+
+ return timer * 1000 / (len(outerCounter) * len(innerCounter))
+
+
+def main(argv):
+ if len(argv) != 1:
+ raise SystemExit("Usage: %s" % (argv[0],))
+ print benchmark()
+
+
+if __name__ == '__main__':
+ main(sys.argv)
Follow ups