]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
added sqlite/sa "unprofiled" raw time tests
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 14 Aug 2007 17:51:15 +0000 (17:51 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 14 Aug 2007 17:51:15 +0000 (17:51 +0000)
test/perf/insertspeed.py

index cfafc0d433faf40676a01ce6a73c4f03f22119aa..4985af68d585be57a6bca7eedafd59f95d956aa6 100644 (file)
@@ -2,7 +2,7 @@ import testbase
 from sqlalchemy import *
 from sqlalchemy.orm import *
 from testlib import *
-
+import time
 
 db = create_engine('sqlite://')
 metadata = MetaData(db)
@@ -11,6 +11,19 @@ Person_table = Table('Person', metadata,
     Column('sex', Integer),
     Column('age', Integer))
 
+
+def sa_unprofiled_inserts(n):
+    print "Inserting %s records into SQLite(memory) with SQLAlchemy"%n
+    i = Person_table.insert()
+    i.execute([{'name':'John Doe','sex':1,'age':35} for j in xrange(n)])
+    s = Person_table.select()
+
+def sqlite_unprofiled_inserts(n):
+    conn = db.connect().connection
+    c = conn.cursor()
+    persons = [('john doe', 1, 35) for i in xrange(n)]
+    c.executemany("insert into Person(name, sex, age) values (?,?,?)", persons)
+    
 @profiling.profiled('test_many_inserts', always=True)
 def test_many_inserts(n):
     print "Inserting %s records into SQLite(memory) with SQLAlchemy"%n
@@ -25,6 +38,20 @@ def test_many_inserts(n):
 def all():
     metadata.create_all()
     try:
+        t = time.clock()
+        sqlite_unprofiled_inserts(100000)
+        t2 = time.clock()
+        print "sqlite unprofiled inserts took %d seconds" % (t2 - t)
+        
+        Person_table.delete().execute()
+
+        t = time.clock()
+        sa_unprofiled_inserts(100000)
+        t2 = time.clock()
+        print "sqlalchemy unprofiled inserts took %d seconds" % (t2 - t)
+
+        Person_table.delete().execute()
+
         test_many_inserts(50000)
     finally:
         metadata.drop_all()