Benchmark
The benchmarks provided are meant to help development and offer a general sense of MangoSQL's performance. They are not intended to be exhaustive or compare every available method or library.
MangoSQL’s speed is not a primary objective, it's rather a byproduct of its design. By eliminating abstraction, reducing indirection, and directly interfacing with drivers, the system minimizes overhead.
Postgres
INFO
Library Tested:
- MangoSQL with PQ+SQLX driver
- MangoSQL with PGX
- Gorm with PGX
Tested against a real postgres server postgres:16
(tmpfs & fsync=off)
CPU (Operation per second)
Axis
Horizontal: Size of payload (number of items)
Vertical: Converted ns/op -> op/s, to get unit easier to visualize
Memory Allocation
Axis
Horizontal: Size of payload (number of items)
Vertical: Go bench alloc/op
SQLite
CPU (Operation per second)
Axis
Horizontal: Size of payload (number of items)
Vertical: Converted ns/op -> op/s, to get unit easier to visualize
Memory Allocation
Axis
Horizontal: Size of payload (number of items)
Vertical: Go bench alloc/op
MariaDB
CPU (Operation per second)
Axis
Horizontal: Size of payload (number of items)
Vertical: Converted ns/op -> op/s, to get unit easier to visualize
Memory Allocation
Axis
Horizontal: Size of payload (number of items)
Vertical: Go bench alloc/op