[Python-checkins] r66328 - sandbox/trunk/dbm_sqlite/Lib/dbm/sqlite.py

skip.montanaro python-checkins at python.org
Tue Sep 9 04:51:51 CEST 2008


Author: skip.montanaro
Date: Tue Sep  9 04:51:51 2008
New Revision: 66328

Log:
More performance problems.


Modified:
   sandbox/trunk/dbm_sqlite/Lib/dbm/sqlite.py

Modified: sandbox/trunk/dbm_sqlite/Lib/dbm/sqlite.py
==============================================================================
--- sandbox/trunk/dbm_sqlite/Lib/dbm/sqlite.py	(original)
+++ sandbox/trunk/dbm_sqlite/Lib/dbm/sqlite.py	Tue Sep  9 04:51:51 2008
@@ -54,6 +54,30 @@
     10 loops, best of 3: 23.5 msec per loop
     10 loops, best of 3: 264 msec per loop
 
+  - Keys:
+    for m in dumb gnu ndbm sqlite ; do
+        echo $m
+        for n in 10 100 ; do
+            rm -f /tmp/trash.db*
+            python3.0 -m timeit -s 'import dbm.'$m' as db' \
+                                -s 'f = db.open("/tmp/trash.db", "c")' \
+                                -s ' f[b"1"] = b"a"' \
+                                'for i in range('$n'): x = f.keys()'
+        done
+    done
+    dumb
+    10000 loops, best of 3: 21.5 usec per loop
+    1000 loops, best of 3: 211 usec per loop
+    gnu
+    10000 loops, best of 3: 35.8 usec per loop
+    1000 loops, best of 3: 355 usec per loop
+    ndbm
+    100000 loops, best of 3: 5.38 usec per loop
+    10000 loops, best of 3: 49.1 usec per loop
+    sqlite
+    1000 loops, best of 3: 513 usec per loop
+    100 loops, best of 3: 5.1 msec per loop
+
 """
 
 import sqlite3


More information about the Python-checkins mailing list