sqlx vs ozzo-dbx vs gorm vs pgx benchmarks
Benchmark/pgxpool_limit:5-4 184643 ns/op
Benchmark/sqlx_limit:5-4 226758 ns/op
Benchmark/gorm_v2_limit:5-4 225265 ns/op
Benchmark/ozzo-dbx_limit:5-4 228467 ns/op
========================================================
Benchmark/pgxpool_limit:50-4 277449 ns/op
Benchmark/sqlx_limit:50-4 295939 ns/op
Benchmark/gorm_v2_limit:50-4 358661 ns/op
Benchmark/ozzo-dbx_limit:50-4 289180 ns/op
========================================================
Benchmark/pgxpool_limit:100-4 306729 ns/op
Benchmark/sqlx_limit:100-4 373172 ns/op
Benchmark/gorm_v2_limit:100-4 490190 ns/op
Benchmark/ozzo-dbx_limit:100-4 390490 ns/op
========================================================
Benchmark/pgxpool_limit:500-4 679745 ns/op
Benchmark/sqlx_limit:500-4 824782 ns/op
Benchmark/gorm_v2_limit:500-4 1337712 ns/op
Benchmark/ozzo-dbx_limit:500-4 880810 ns/op
========================================================
Benchmark/pgxpool_limit:10000-4 8859699 ns/op
Benchmark/sqlx_limit:10000-4 11396879 ns/op
Benchmark/gorm_v2_limit:10000-4 19962606 ns/op
Benchmark/ozzo-dbx_limit:10000-4 11860572 ns/op
========================================================
- Up to 100 records (the most basic cases) we don't see significant difference between time per operation.
- On the big queries (special cases which mostly recomended execute throught Scan method) the winner of course pgxpool as expected.
- But to my big wonder the sqlx and ozzo-dbx on the big queries were almost equal. I didn't expect this.
- And of course gorm on the big data query lose with almost twice defeat because of reflection usage. I strongly don't recommend using it for large slices. Use cursor istead.