From 38a55648a1923b32c476889f411fb3362cac7fc1 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 14 Aug 2007 17:51:15 +0000 Subject: [PATCH] added sqlite/sa "unprofiled" raw time tests --- test/perf/insertspeed.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/test/perf/insertspeed.py b/test/perf/insertspeed.py index cfafc0d433..4985af68d5 100644 --- a/test/perf/insertspeed.py +++ b/test/perf/insertspeed.py @@ -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() -- 2.47.3