Comparative performance analysis of object-relational mapping libraries for Python


Comparative performance analysis of object-relational mapping libraries for Python

Chernobrovenko A.E. (BSTU, Belgorod, Russia)
Lylov D.A. (BSTU, Belgorod, Russia)
Panchenko M.V. (BSTU, Belgorod, Russia)

Abstract

Object–relational mapping is a widely used approach for working with relational databases in Python applications: data are represented as models, and queries are executed at the object level. The cost of this abstraction is additional overhead, which can significantly affect the execution time of typical read and write operations, especially when handling a large number of database transactions. This paper proposes a reproducible methodology for performance benchmarking of object–relational mapping libraries and presents results for Django, Peewee, Pony, SQLAlchemy, and SQLModel across 14 scenarios covering create, read, update, and delete operations. For each scenario, the mean, median, and 99th percentile of operation latency are reported. The results are summarized in tables and accompanied by brief comments to support practical tool selection for representative usage scenarios.

Keywords

Python; object-relational mapping; performance; SQL.

Edition

Proceedings of the Institute for System Programming, vol. 38, issue 4, part 2, 2026, pp. 177-192

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(4)-25

For citation

Chernobrovenko A.E., Lylov D.A., Panchenko M.V. Comparative performance analysis of object-relational mapping libraries for Python. Proceedings of the Institute for System Programming, vol. 38, issue 4, part 2, 2026, pp. 177-192 DOI: 10.15514/ISPRAS-2026-38(4)-25.

Full text of the paper in pdf (in Russian) Back to the contents of the volume