Skip to content

pypyodbc speed

江文 edited this page Jan 28, 2017 · 3 revisions

With the simple benchmark script on GitHub, below is the performance scores (seconds, lower is better) on Windows

Access mdb database

The seconds used to operate 20,000 records on my Lenovo Dual-Core Celeron 2.1G , 3G RAM laptop :

pypyodbc on CPython 3.6.0

Running with pypyodbc 1.3.4

Write time: 9.735416889190674 R & W time: 12.324021816253662 Read time: 0.9204015731811523

pypyodbc on PyPy 5.6

Running with pypyodbc 1.3.4

Write time: 8.36199998856 R & W time: 9.34499979019 Read time: 0.421000003815

pypyodbc on CPython 2.7.6

Running with pypyodbc 1.3.0

Write time: 9.97799992561 R & W time: 11.7869999409 Read time: 0.910000085831

pypyodbc on CPython 2.7.6

Running with pypyodbc 1.2.1

Write time: 9.7380001545 R & W time: 12.2130000591 Read time: 1.60899996758

pyodbc on CPython 2.7.6

Running with pyodbc 3.0.6

Write time: 12.9730000496 R & W time: 12.5540001392 Read time: 0.18799996376

pypyodbc on PyPy 2.3 (after JIT started)

Running with pypyodbc 1.3.2 odbcjt32.dll

Write time: 7.72200012207 R & W time: 9.39100003242 Read time: 0.483999967575

pypyodbc on PyPy 2.2 (after JIT started)

Running with pypyodbc 1.2.1

Write time: 9.57299995422 R & W time: 10.9049999714 Read time: 0.707999944687

pypyodbc on IronPython 2.7.4

Running with pypyodbc 1.2.1

Write time: 10.2185821533 R & W time: 15.8019104004 Read time: 2.62014770508

SQLServer

The seconds used to operate 20,000 records:

pypyodbc on CPython 2.7.6

Running with pypyodbc 1.3.0 sqlncli10.dll

Write time: 13.2389998436 R & W time: 15.9130001068 Read time: 0.920000076294

pypyodbc on CPython 2.7.6

Running with pypyodbc 1.2.1 sqlncli10.dll

Write time: 12.4639999866 R & W time: 15.6489999294 Read time: 1.54399991035

pyodbc on CPython 2.7.6

Running with pypyodbc 3.0.6 sqlncli10.dll

Write time: 10.4210000038 R & W time: 10.6079998016 Read time: 0.141000032425

pypyodbc on PyPy 2.2 (after JIT started)

Running with pypyodbc 1.3.0 sqlncli10.dll

Write time: 12.7769999504 R & W time: 15.1629998684 Read time: 0.470999956131

pypyodbc on PyPy 2.2 (after JIT started)

Running with pypyodbc 1.2.1 sqlncli10.dll

Write time: 12.1679999828 R & W time: 14.9449999332 Read time: 0.763999938965