Made the benchmark script compatitable with Python 3 and ensured it runs on every build.

This commit is contained in:
Omer Katz 2014-06-25 11:39:08 +03:00
parent fc3eda55c7
commit fe2ef4e61c
2 changed files with 22 additions and 20 deletions

View File

@ -58,6 +58,7 @@ install:
- python setup.py install - python setup.py install
script: script:
- python setup.py test - python setup.py test
- python benchmark.py
notifications: notifications:
irc: "irc.freenode.org#mongoengine" irc: "irc.freenode.org#mongoengine"
branches: branches:

View File

@ -113,6 +113,7 @@ def main():
4.68946313858 4.68946313858
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
""" """
print("Benchmarking...")
setup = """ setup = """
from pymongo import MongoClient from pymongo import MongoClient
@ -138,10 +139,10 @@ myNoddys = noddy.find()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - Pymongo""" print """Creating 10000 dictionaries - Pymongo"""
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
from pymongo import MongoClient from pymongo import MongoClient
@ -161,10 +162,10 @@ myNoddys = noddy.find()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - Pymongo write_concern={"w": 0}""" print """Creating 10000 dictionaries - Pymongo write_concern={"w": 0}"""
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
setup = """ setup = """
from pymongo import MongoClient from pymongo import MongoClient
@ -190,10 +191,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - MongoEngine""" print("""Creating 10000 dictionaries - MongoEngine""")
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
for i in xrange(10000): for i in xrange(10000):
@ -208,10 +209,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries without continual assign - MongoEngine""" print """Creating 10000 dictionaries without continual assign - MongoEngine"""
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
for i in xrange(10000): for i in xrange(10000):
@ -224,10 +225,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - MongoEngine - write_concern={"w": 0}, cascade = True""" print """Creating 10000 dictionaries - MongoEngine - write_concern={"w": 0}, cascade = True"""
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
for i in xrange(10000): for i in xrange(10000):
@ -240,10 +241,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - MongoEngine, write_concern={"w": 0}, validate=False, cascade=True""" print """Creating 10000 dictionaries - MongoEngine, write_concern={"w": 0}, validate=False, cascade=True"""
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
for i in xrange(10000): for i in xrange(10000):
@ -256,10 +257,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - MongoEngine, write_concern={"w": 0}, validate=False""" print("""Creating 10000 dictionaries - MongoEngine, write_concern={"w": 0}, validate=False""")
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
stmt = """ stmt = """
for i in xrange(10000): for i in xrange(10000):
@ -272,10 +273,10 @@ myNoddys = Noddy.objects()
[n for n in myNoddys] # iterate [n for n in myNoddys] # iterate
""" """
print "-" * 100 print("-" * 100)
print """Creating 10000 dictionaries - MongoEngine, force_insert=True, write_concern={"w": 0}, validate=False""" print("""Creating 10000 dictionaries - MongoEngine, force_insert=True, write_concern={"w": 0}, validate=False""")
t = timeit.Timer(stmt=stmt, setup=setup) t = timeit.Timer(stmt=stmt, setup=setup)
print t.timeit(1) print(t.timeit(1))
if __name__ == "__main__": if __name__ == "__main__":