From baf7eedfabe6d19c377562742a15133777bc32d4 Mon Sep 17 00:00:00 2001 From: masfahru Date: Mon, 30 Oct 2023 01:04:39 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20Update=20Benchmark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- results/bun-mysql-cpu-count.txt | 38 +++++++++++++------------- results/bun-mysql-default.txt | 38 +++++++++++++------------- results/bun-mysql-max.txt | 40 +++++++++++++-------------- results/bun-mysql-single.txt | 42 ++++++++++++++--------------- results/bun-postgres-cpu-count.txt | 40 +++++++++++++-------------- results/bun-postgres-default.txt | 40 +++++++++++++-------------- results/bun-postgres-max.txt | 40 +++++++++++++-------------- results/bun-postgres-single.txt | 40 +++++++++++++-------------- results/node-mysql-cpu-count.txt | 40 +++++++++++++-------------- results/node-mysql-default.txt | 40 +++++++++++++-------------- results/node-mysql-max.txt | 40 +++++++++++++-------------- results/node-mysql-single.txt | 38 +++++++++++++------------- results/node-postgres-cpu-count.txt | 40 +++++++++++++-------------- results/node-postgres-default.txt | 40 +++++++++++++-------------- results/node-postgres-max.txt | 40 +++++++++++++-------------- results/node-postgres-single.txt | 38 +++++++++++++------------- 16 files changed, 317 insertions(+), 317 deletions(-) diff --git a/results/bun-mysql-cpu-count.txt b/results/bun-mysql-cpu-count.txt index ae9afbe..4f67207 100644 --- a/results/bun-mysql-cpu-count.txt +++ b/results/bun-mysql-cpu-count.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 858.18 µs/iter (562.6 µs … 5.63 ms) 803.4 µs 3.06 ms 4.16 ms -KnexJS 737.7 µs/iter (392.9 µs … 15.11 ms) 669.2 µs 3.12 ms 3.47 ms -Kysely 506.73 µs/iter (330.9 µs … 6.1 ms) 466.6 µs 2.21 ms 2.45 ms -Mariadb 420.73 µs/iter (262 µs … 6.74 ms) 391.6 µs 2.05 ms 2.2 ms -MikroORM 1.17 ms/iter (65 µs … 13.52 ms) 1.18 ms 4.37 ms 4.95 ms -MySQL 858.82 µs/iter (550.7 µs … 6.57 ms) 756.8 µs 3.48 ms 4.88 ms -MySQL2 439.95 µs/iter (289.6 µs … 4.04 ms) 404.2 µs 2.17 ms 2.58 ms -Prisma 1.01 ms/iter (649.7 µs … 12.09 ms) 858.11 µs 6 ms 10.03 ms -Sequelize 1.17 ms/iter (660.8 µs … 11.47 ms) 1.06 ms 6.02 ms 6.26 ms -TypeORM 1.21 ms/iter (821.3 µs … 4.89 ms) 1.11 ms 4.12 ms 4.3 ms +DrizzleORM 840.18 µs/iter (520.7 µs … 16.51 ms) 757.8 µs 2.93 ms 3.62 ms +KnexJS 700.04 µs/iter (422.3 µs … 7.58 ms) 655.4 µs 2.72 ms 3.3 ms +Kysely 517.19 µs/iter (339.3 µs … 4.17 ms) 464 µs 2.38 ms 2.81 ms +Mariadb 426.62 µs/iter (282.7 µs … 6.83 ms) 380.6 µs 2.25 ms 2.63 ms +MikroORM 1.2 ms/iter (60.1 µs … 7.38 ms) 1.11 ms 5.36 ms 6.81 ms +MySQL 772.25 µs/iter (546.1 µs … 3.14 ms) 724.9 µs 2.55 ms 2.77 ms +MySQL2 448.38 µs/iter (279.5 µs … 6.37 ms) 410 µs 2.07 ms 2.52 ms +Prisma 953.86 µs/iter (640.3 µs … 8.29 ms) 854.3 µs 3.1 ms 5.25 ms +Sequelize 1.11 ms/iter (632.5 µs … 18.88 ms) 938.5 µs 4.54 ms 7.55 ms +TypeORM 1.25 ms/iter (729.8 µs … 11.07 ms) 1.09 ms 5.26 ms 6.55 ms summary for MySQL Mariadb 1.05x faster than MySQL2 - 1.2x faster than Kysely - 1.75x faster than KnexJS - 2.04x faster than DrizzleORM - 2.04x faster than MySQL - 2.4x faster than Prisma - 2.78x faster than MikroORM - 2.79x faster than Sequelize - 2.87x faster than TypeORM + 1.21x faster than Kysely + 1.64x faster than KnexJS + 1.81x faster than MySQL + 1.97x faster than DrizzleORM + 2.24x faster than Prisma + 2.6x faster than Sequelize + 2.81x faster than MikroORM + 2.93x faster than TypeORM diff --git a/results/bun-mysql-default.txt b/results/bun-mysql-default.txt index cdd5f68..9c2a9ee 100644 --- a/results/bun-mysql-default.txt +++ b/results/bun-mysql-default.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 822.35 µs/iter (551.5 µs … 4.88 ms) 780.8 µs 2.43 ms 2.82 ms -KnexJS 687.13 µs/iter (425.7 µs … 5.45 ms) 646.2 µs 2.72 ms 3.62 ms -Kysely 520.1 µs/iter (336.8 µs … 5.6 ms) 469.2 µs 2.35 ms 3.03 ms -Mariadb 444.56 µs/iter (262 µs … 4.69 ms) 400.8 µs 2.18 ms 2.81 ms -MikroORM 1.3 ms/iter (62.8 µs … 14.55 ms) 1.28 ms 4.78 ms 6.2 ms -MySQL 798.67 µs/iter (533.8 µs … 5.05 ms) 739.9 µs 2.82 ms 3.22 ms -MySQL2 451.1 µs/iter (296 µs … 5.65 ms) 402.6 µs 1.93 ms 2.41 ms -Prisma 903.29 µs/iter (667.9 µs … 5.51 ms) 846.4 µs 2.76 ms 3.53 ms -Sequelize 980.02 µs/iter (645.5 µs … 7.07 ms) 895.61 µs 3.48 ms 5.92 ms -TypeORM 1.17 ms/iter (737.8 µs … 6.02 ms) 1.08 ms 4.26 ms 5.22 ms +DrizzleORM 836.94 µs/iter (525.1 µs … 8.02 ms) 753.4 µs 3.51 ms 4.23 ms +KnexJS 688.7 µs/iter (423 µs … 8.22 ms) 615.7 µs 3.22 ms 3.54 ms +Kysely 538.64 µs/iter (348.6 µs … 6.68 ms) 466.7 µs 3.07 ms 3.45 ms +Mariadb 447.99 µs/iter (276.7 µs … 3.04 ms) 431.5 µs 2.17 ms 2.48 ms +MikroORM 1.29 ms/iter (66.8 µs … 14.18 ms) 1.19 ms 5.91 ms 10.26 ms +MySQL 769.74 µs/iter (512.7 µs … 5.73 ms) 716.3 µs 2.45 ms 2.65 ms +MySQL2 451.77 µs/iter (302.9 µs … 7.65 ms) 412.3 µs 2.02 ms 2.43 ms +Prisma 914 µs/iter (623.2 µs … 11.83 ms) 835.4 µs 3.3 ms 3.82 ms +Sequelize 1.14 ms/iter (609.7 µs … 12.35 ms) 897.7 µs 6.46 ms 6.92 ms +TypeORM 1.25 ms/iter (791.4 µs … 15.68 ms) 1.06 ms 4.4 ms 12.32 ms summary for MySQL Mariadb 1.01x faster than MySQL2 - 1.17x faster than Kysely - 1.55x faster than KnexJS - 1.8x faster than MySQL - 1.85x faster than DrizzleORM - 2.03x faster than Prisma - 2.2x faster than Sequelize - 2.63x faster than TypeORM - 2.92x faster than MikroORM + 1.2x faster than Kysely + 1.54x faster than KnexJS + 1.72x faster than MySQL + 1.87x faster than DrizzleORM + 2.04x faster than Prisma + 2.54x faster than Sequelize + 2.78x faster than TypeORM + 2.88x faster than MikroORM diff --git a/results/bun-mysql-max.txt b/results/bun-mysql-max.txt index 02daa86..ae59240 100644 --- a/results/bun-mysql-max.txt +++ b/results/bun-mysql-max.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 1.65 ms/iter (512.5 µs … 20.88 ms) 1.74 ms 6.38 ms 7.98 ms -KnexJS 808.64 µs/iter (424.6 µs … 9.19 ms) 716.8 µs 3.71 ms 5.72 ms -Kysely 558.36 µs/iter (340.5 µs … 8.91 ms) 489.8 µs 2.78 ms 3.2 ms -Mariadb 592.36 µs/iter (301 µs … 5.67 ms) 458.5 µs 3 ms 3.21 ms -MikroORM 1.13 ms/iter (60 µs … 10.46 ms) 1.1 ms 4.47 ms 5.81 ms -MySQL 833.54 µs/iter (564.9 µs … 5.2 ms) 786.11 µs 2.71 ms 2.97 ms -MySQL2 466.47 µs/iter (279.9 µs … 18.35 ms) 398.8 µs 1.87 ms 1.98 ms -Prisma 961.41 µs/iter (663.1 µs … 8.68 ms) 855 µs 3.26 ms 4.5 ms -Sequelize 976.18 µs/iter (633.7 µs … 8.55 ms) 907.11 µs 3.28 ms 5.37 ms -TypeORM 1.33 ms/iter (837.9 µs … 12.33 ms) 1.17 ms 6.6 ms 6.94 ms +DrizzleORM 1.46 ms/iter (583 µs … 12.64 ms) 1.54 ms 5.73 ms 9.46 ms +KnexJS 834.17 µs/iter (406.3 µs … 9.72 ms) 750.3 µs 4.24 ms 4.63 ms +Kysely 546.7 µs/iter (339.7 µs … 16.26 ms) 475.9 µs 2.15 ms 3.31 ms +Mariadb 938.92 µs/iter (304.3 µs … 16.96 ms) 1.05 ms 7.27 ms 11.75 ms +MikroORM 1.15 ms/iter (47.2 µs … 9.79 ms) 1.14 ms 4.37 ms 4.4 ms +MySQL 822.12 µs/iter (559.2 µs … 9.7 ms) 748.7 µs 3.13 ms 3.56 ms +MySQL2 517.93 µs/iter (290.8 µs … 17.23 ms) 427.9 µs 2.93 ms 3.66 ms +Prisma 942.86 µs/iter (632 µs … 5.57 ms) 868.8 µs 3.15 ms 4.98 ms +Sequelize 1.09 ms/iter (605.5 µs … 12.07 ms) 901 µs 5.04 ms 7.38 ms +TypeORM 1.12 ms/iter (790.1 µs … 6.54 ms) 1.03 ms 3.63 ms 4.41 ms summary for MySQL MySQL2 - 1.2x faster than Kysely - 1.27x faster than Mariadb - 1.73x faster than KnexJS - 1.79x faster than MySQL - 2.06x faster than Prisma - 2.09x faster than Sequelize - 2.42x faster than MikroORM - 2.85x faster than TypeORM - 3.55x faster than DrizzleORM + 1.06x faster than Kysely + 1.59x faster than MySQL + 1.61x faster than KnexJS + 1.81x faster than Mariadb + 1.82x faster than Prisma + 2.1x faster than Sequelize + 2.17x faster than TypeORM + 2.23x faster than MikroORM + 2.83x faster than DrizzleORM diff --git a/results/bun-mysql-single.txt b/results/bun-mysql-single.txt index bc42b40..7229087 100644 --- a/results/bun-mysql-single.txt +++ b/results/bun-mysql-single.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 834.69 µs/iter (557.5 µs … 9.95 ms) 769.4 µs 3.08 ms 4.48 ms -KnexJS 670.97 µs/iter (434.2 µs … 6.39 ms) 626.4 µs 2.89 ms 3.29 ms -Kysely 571.32 µs/iter (369 µs … 6.73 ms) 521.7 µs 2.52 ms 3.15 ms -Mariadb 449.24 µs/iter (280.9 µs … 6.19 ms) 400.8 µs 2.35 ms 2.99 ms -MikroORM 1.22 ms/iter (57.9 µs … 6.73 ms) 1.19 ms 4.94 ms 5.45 ms -MySQL 775.02 µs/iter (513.8 µs … 6.02 ms) 699.4 µs 3.25 ms 4.23 ms -MySQL2 455.2 µs/iter (279.6 µs … 4.65 ms) 414.2 µs 2.27 ms 2.66 ms -Prisma 1 ms/iter (679.8 µs … 12.35 ms) 866.41 µs 3.68 ms 5.74 ms -Sequelize 923.68 µs/iter (608 µs … 4.65 ms) 863.11 µs 3.26 ms 4.07 ms -TypeORM 1.22 ms/iter (768.3 µs … 15.25 ms) 1.08 ms 4.22 ms 6.32 ms +DrizzleORM 814.85 µs/iter (512.7 µs … 5.33 ms) 733.4 µs 3.67 ms 4.34 ms +KnexJS 737.03 µs/iter (420.5 µs … 6.06 ms) 659.1 µs 3.92 ms 4.4 ms +Kysely 518.58 µs/iter (341.4 µs … 3.87 ms) 474.2 µs 2.34 ms 2.54 ms +Mariadb 422.85 µs/iter (257.1 µs … 8.49 ms) 395.9 µs 2.13 ms 2.47 ms +MikroORM 1.35 ms/iter (84.2 µs … 19.66 ms) 1.24 ms 7.55 ms 9.13 ms +MySQL 845.89 µs/iter (523.3 µs … 10.4 ms) 782.6 µs 3.03 ms 4.49 ms +MySQL2 419.55 µs/iter (293.6 µs … 6.51 ms) 381.9 µs 1.89 ms 2.28 ms +Prisma 952.2 µs/iter (643.7 µs … 7.63 ms) 863.4 µs 2.97 ms 4.16 ms +Sequelize 987.16 µs/iter (590.7 µs … 5.31 ms) 910.21 µs 3.35 ms 3.89 ms +TypeORM 1.16 ms/iter (731.5 µs … 9.48 ms) 1.04 ms 4.51 ms 4.97 ms summary for MySQL - Mariadb - 1.01x faster than MySQL2 - 1.27x faster than Kysely - 1.49x faster than KnexJS - 1.73x faster than MySQL - 1.86x faster than DrizzleORM - 2.06x faster than Sequelize - 2.23x faster than Prisma - 2.71x faster than TypeORM - 2.72x faster than MikroORM + MySQL2 + 1.01x faster than Mariadb + 1.24x faster than Kysely + 1.76x faster than KnexJS + 1.94x faster than DrizzleORM + 2.02x faster than MySQL + 2.27x faster than Prisma + 2.35x faster than Sequelize + 2.78x faster than TypeORM + 3.22x faster than MikroORM diff --git a/results/bun-postgres-cpu-count.txt b/results/bun-postgres-cpu-count.txt index ae23b67..bfb4e0c 100644 --- a/results/bun-postgres-cpu-count.txt +++ b/results/bun-postgres-cpu-count.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.02 ms/iter (644.2 µs … 11.91 ms) 945.51 µs 3.14 ms 4.68 ms -KnexJS 998.01 µs/iter (456.9 µs … 5.69 ms) 1.03 ms 4.46 ms 5.33 ms -Kysely 769.7 µs/iter (434.9 µs … 5.4 ms) 722.8 µs 2.95 ms 3.13 ms -MikroORM 1.16 ms/iter (66.2 µs … 11.52 ms) 1.14 ms 4.31 ms 5.84 ms -Pg 571.17 µs/iter (348 µs … 7.75 ms) 527.2 µs 2.45 ms 3.92 ms -PgTyped 544.2 µs/iter (362.2 µs … 4.13 ms) 554.7 µs 1.96 ms 2.2 ms -Postgres.js 324.56 µs/iter (216.1 µs … 4.32 ms) 284.4 µs 1.86 ms 2.41 ms -Prisma 1.07 ms/iter (609.1 µs … 11.37 ms) 961.11 µs 4.67 ms 6.05 ms -Sequelize 871.34 µs/iter (529.7 µs … 8.64 ms) 779.11 µs 4.16 ms 4.97 ms -TypeORM 1.02 ms/iter (574 µs … 9.06 ms) 932.61 µs 4.73 ms 5.13 ms +DrizzleORM 1.05 ms/iter (611.3 µs … 7.83 ms) 922.4 µs 5.12 ms 5.25 ms +KnexJS 793.47 µs/iter (453.4 µs … 7.77 ms) 839.3 µs 3.05 ms 3.24 ms +Kysely 703.89 µs/iter (404.1 µs … 17.4 ms) 719.9 µs 2.67 ms 2.76 ms +MikroORM 1.18 ms/iter (68.1 µs … 10.91 ms) 1.12 ms 5.16 ms 5.31 ms +Pg 566.75 µs/iter (336.1 µs … 3.83 ms) 557.8 µs 2.23 ms 2.55 ms +PgTyped 672.52 µs/iter (358.6 µs … 16.91 ms) 571.6 µs 3.32 ms 4.97 ms +Postgres.js 340.1 µs/iter (210.7 µs … 19.97 ms) 280 µs 2.47 ms 3.05 ms +Prisma 888.48 µs/iter (621.9 µs … 7.46 ms) 791.1 µs 3.6 ms 3.87 ms +Sequelize 858.47 µs/iter (541 µs … 3.64 ms) 812.8 µs 3.05 ms 3.26 ms +TypeORM 1.09 ms/iter (572 µs … 14.31 ms) 966.71 µs 4.99 ms 8.03 ms summary for PostgreSQL Postgres.js - 1.68x faster than PgTyped - 1.76x faster than Pg - 2.37x faster than Kysely - 2.68x faster than Sequelize - 3.07x faster than KnexJS - 3.13x faster than DrizzleORM - 3.14x faster than TypeORM - 3.3x faster than Prisma - 3.58x faster than MikroORM + 1.67x faster than Pg + 1.98x faster than PgTyped + 2.07x faster than Kysely + 2.33x faster than KnexJS + 2.52x faster than Sequelize + 2.61x faster than Prisma + 3.1x faster than DrizzleORM + 3.19x faster than TypeORM + 3.47x faster than MikroORM diff --git a/results/bun-postgres-default.txt b/results/bun-postgres-default.txt index 754e5e5..42a5ae7 100644 --- a/results/bun-postgres-default.txt +++ b/results/bun-postgres-default.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.02 ms/iter (659.4 µs … 10.16 ms) 960.71 µs 4.03 ms 4.37 ms -KnexJS 890.34 µs/iter (454.3 µs … 6.53 ms) 803.5 µs 4.53 ms 5.6 ms -Kysely 710.69 µs/iter (427.3 µs … 6.81 ms) 626.1 µs 3.17 ms 4.73 ms -MikroORM 1.19 ms/iter (64.2 µs … 6.16 ms) 1.2 ms 4.71 ms 5.36 ms -Pg 528.16 µs/iter (357.6 µs … 9.12 ms) 490.2 µs 2 ms 2.58 ms -PgTyped 588.43 µs/iter (380.4 µs … 9.81 ms) 530.3 µs 2.47 ms 3.95 ms -Postgres.js 339.77 µs/iter (207.3 µs … 5.6 ms) 305.1 µs 1.75 ms 2.1 ms -Prisma 1.02 ms/iter (640.7 µs … 12.11 ms) 824.21 µs 6.01 ms 7.79 ms -Sequelize 982.06 µs/iter (539.5 µs … 7.66 ms) 842.2 µs 4.92 ms 7.27 ms -TypeORM 1.04 ms/iter (572.7 µs … 8.79 ms) 930.3 µs 5.46 ms 7.85 ms +DrizzleORM 1.08 ms/iter (654.8 µs … 8.13 ms) 1.02 ms 5.1 ms 6.27 ms +KnexJS 1.23 ms/iter (499.7 µs … 12.39 ms) 1.09 ms 4.83 ms 9.54 ms +Kysely 722.53 µs/iter (411.2 µs … 6.81 ms) 710.2 µs 3.07 ms 3.75 ms +MikroORM 1.08 ms/iter (57.1 µs … 5.43 ms) 1.1 ms 4.55 ms 4.82 ms +Pg 526.73 µs/iter (319.2 µs … 8.24 ms) 489.4 µs 2.49 ms 2.75 ms +PgTyped 610.57 µs/iter (323 µs … 14.02 ms) 608.9 µs 2.4 ms 3.02 ms +Postgres.js 338.54 µs/iter (202 µs … 5.54 ms) 300.1 µs 2.27 ms 2.77 ms +Prisma 869.89 µs/iter (613.6 µs … 4.25 ms) 797.2 µs 2.56 ms 3.44 ms +Sequelize 870.86 µs/iter (499.6 µs … 7.52 ms) 796.4 µs 3.57 ms 4.24 ms +TypeORM 957.35 µs/iter (571 µs … 4.05 ms) 950.3 µs 3.4 ms 3.8 ms summary for PostgreSQL Postgres.js - 1.55x faster than Pg - 1.73x faster than PgTyped - 2.09x faster than Kysely - 2.62x faster than KnexJS - 2.89x faster than Sequelize - 2.99x faster than DrizzleORM - 3.01x faster than Prisma - 3.05x faster than TypeORM - 3.5x faster than MikroORM + 1.56x faster than Pg + 1.8x faster than PgTyped + 2.13x faster than Kysely + 2.57x faster than Prisma + 2.57x faster than Sequelize + 2.83x faster than TypeORM + 3.2x faster than DrizzleORM + 3.2x faster than MikroORM + 3.64x faster than KnexJS diff --git a/results/bun-postgres-max.txt b/results/bun-postgres-max.txt index 9474e4f..76725b9 100644 --- a/results/bun-postgres-max.txt +++ b/results/bun-postgres-max.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.07 ms/iter (675.5 µs … 6.13 ms) 974.7 µs 4.06 ms 4.75 ms -KnexJS 774.09 µs/iter (448.4 µs … 8.44 ms) 729.3 µs 3.57 ms 5.45 ms -Kysely 690.08 µs/iter (406.8 µs … 4.96 ms) 798.11 µs 2.39 ms 2.51 ms -MikroORM 1.18 ms/iter (55.4 µs … 7.78 ms) 1.17 ms 5.04 ms 7.12 ms -Pg 601.35 µs/iter (356.8 µs … 4.66 ms) 583.2 µs 2.49 ms 2.91 ms -PgTyped 569.39 µs/iter (370.8 µs … 5.39 ms) 545 µs 2.13 ms 2.38 ms -Postgres.js 360.13 µs/iter (209.4 µs … 15.14 ms) 309 µs 2.17 ms 2.24 ms -Prisma 918.76 µs/iter (628.6 µs … 7.53 ms) 820.6 µs 3.6 ms 5.54 ms -Sequelize 898.95 µs/iter (578.9 µs … 6.26 ms) 812.61 µs 3.47 ms 3.86 ms -TypeORM 955.34 µs/iter (585.3 µs … 10.21 ms) 858.8 µs 3.86 ms 6.34 ms +DrizzleORM 1.04 ms/iter (623.3 µs … 9.21 ms) 936.8 µs 4.27 ms 4.83 ms +KnexJS 819.89 µs/iter (470.6 µs … 9.85 ms) 737.1 µs 3.95 ms 5.19 ms +Kysely 657.91 µs/iter (405.9 µs … 5.79 ms) 591.4 µs 2.8 ms 3.72 ms +MikroORM 1.12 ms/iter (57.4 µs … 10.11 ms) 1.14 ms 4.89 ms 5.65 ms +Pg 644.96 µs/iter (347.5 µs … 4.41 ms) 622.1 µs 3.04 ms 3.8 ms +PgTyped 696.61 µs/iter (368.9 µs … 13.74 ms) 649.3 µs 3.31 ms 4.48 ms +Postgres.js 397.51 µs/iter (219.8 µs … 15.57 ms) 334.6 µs 2.66 ms 3.09 ms +Prisma 926.77 µs/iter (600.6 µs … 5.02 ms) 849 µs 3.82 ms 4.07 ms +Sequelize 910.21 µs/iter (568.4 µs … 8.4 ms) 800.7 µs 4 ms 4.66 ms +TypeORM 964.53 µs/iter (564.3 µs … 7.36 ms) 904.1 µs 4.7 ms 6.02 ms summary for PostgreSQL Postgres.js - 1.58x faster than PgTyped - 1.67x faster than Pg - 1.92x faster than Kysely - 2.15x faster than KnexJS - 2.5x faster than Sequelize - 2.55x faster than Prisma - 2.65x faster than TypeORM - 2.98x faster than DrizzleORM - 3.28x faster than MikroORM + 1.62x faster than Pg + 1.66x faster than Kysely + 1.75x faster than PgTyped + 2.06x faster than KnexJS + 2.29x faster than Sequelize + 2.33x faster than Prisma + 2.43x faster than TypeORM + 2.62x faster than DrizzleORM + 2.81x faster than MikroORM diff --git a/results/bun-postgres-single.txt b/results/bun-postgres-single.txt index 8387272..35885e6 100644 --- a/results/bun-postgres-single.txt +++ b/results/bun-postgres-single.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: bun 1.0.7 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 982.83 µs/iter (629.2 µs … 5.83 ms) 993.11 µs 3.01 ms 3.44 ms -KnexJS 846.76 µs/iter (450.3 µs … 6.3 ms) 756.8 µs 3.62 ms 4.52 ms -Kysely 760.6 µs/iter (407.6 µs … 6.51 ms) 820.4 µs 2.89 ms 3.93 ms -MikroORM 1.07 ms/iter (48.4 µs … 6.12 ms) 1.11 ms 5 ms 5.47 ms -Pg 517.08 µs/iter (355.8 µs … 4.16 ms) 507.5 µs 2.29 ms 2.52 ms -PgTyped 627.43 µs/iter (372.3 µs … 3.82 ms) 616 µs 2.59 ms 3.06 ms -Postgres.js 330.24 µs/iter (221.3 µs … 3.69 ms) 294.3 µs 1.87 ms 2.24 ms -Prisma 892.51 µs/iter (604.3 µs … 7.34 ms) 806.5 µs 3.23 ms 3.56 ms -Sequelize 1.03 ms/iter (594.2 µs … 25.03 ms) 842.6 µs 6.95 ms 8.2 ms -TypeORM 1 ms/iter (633.1 µs … 6 ms) 948.9 µs 3.61 ms 4.73 ms +DrizzleORM 1.11 ms/iter (656 µs … 14.93 ms) 968.5 µs 7.29 ms 8.17 ms +KnexJS 1.09 ms/iter (482.4 µs … 8.31 ms) 997 µs 5.33 ms 6.37 ms +Kysely 659.86 µs/iter (412.8 µs … 6.42 ms) 603.9 µs 2.56 ms 4.44 ms +MikroORM 1.22 ms/iter (64.8 µs … 9.08 ms) 1.25 ms 4.55 ms 5.26 ms +Pg 579.41 µs/iter (364.9 µs … 3.46 ms) 546.4 µs 2.49 ms 2.88 ms +PgTyped 624.87 µs/iter (355.2 µs … 8.62 ms) 536.4 µs 3.71 ms 4.7 ms +Postgres.js 317.35 µs/iter (209.9 µs … 8.51 ms) 291.8 µs 1.83 ms 2.15 ms +Prisma 917.9 µs/iter (618.2 µs … 6.39 ms) 831.1 µs 4.06 ms 4.94 ms +Sequelize 878.34 µs/iter (534.2 µs … 8.54 ms) 798 µs 3.72 ms 4.31 ms +TypeORM 991.77 µs/iter (587.3 µs … 7.3 ms) 925.21 µs 3.77 ms 4.73 ms summary for PostgreSQL Postgres.js - 1.57x faster than Pg - 1.9x faster than PgTyped - 2.3x faster than Kysely - 2.56x faster than KnexJS - 2.7x faster than Prisma - 2.98x faster than DrizzleORM - 3.04x faster than TypeORM - 3.12x faster than Sequelize - 3.24x faster than MikroORM + 1.83x faster than Pg + 1.97x faster than PgTyped + 2.08x faster than Kysely + 2.77x faster than Sequelize + 2.89x faster than Prisma + 3.13x faster than TypeORM + 3.42x faster than KnexJS + 3.51x faster than DrizzleORM + 3.84x faster than MikroORM diff --git a/results/node-mysql-cpu-count.txt b/results/node-mysql-cpu-count.txt index e78a8de..d1b898c 100644 --- a/results/node-mysql-cpu-count.txt +++ b/results/node-mysql-cpu-count.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 1.06 ms/iter (671.7 µs … 13.03 ms) 939.21 µs 7.64 ms 8.91 ms -KnexJS 767.16 µs/iter (568.3 µs … 5.43 ms) 757.5 µs 2.5 ms 3.34 ms -Kysely 580.66 µs/iter (424.5 µs … 6.9 ms) 575.5 µs 2.14 ms 3 ms -Mariadb 439.11 µs/iter (322.8 µs … 6.23 ms) 447.6 µs 1.51 ms 2.53 ms -MikroORM 1.09 ms/iter (56.9 µs … 8.46 ms) 1.19 ms 3.69 ms 6.39 ms -MySQL 928.6 µs/iter (645.9 µs … 10.26 ms) 840.6 µs 4.54 ms 8.3 ms -MySQL2 511.55 µs/iter (368.2 µs … 5.45 ms) 505.3 µs 1.69 ms 3.37 ms -Prisma 847.42 µs/iter (714.4 µs … 3.44 ms) 870.6 µs 1.32 ms 1.61 ms -Sequelize 983.38 µs/iter (718.4 µs … 9.65 ms) 975 µs 3.43 ms 4.12 ms -TypeORM 1.13 ms/iter (862.9 µs … 7.03 ms) 1.11 ms 3.3 ms 3.89 ms +DrizzleORM 947.92 µs/iter (631.4 µs … 11.93 ms) 872.21 µs 4.24 ms 5.31 ms +KnexJS 754.09 µs/iter (548.1 µs … 13.07 ms) 710.2 µs 2.55 ms 3.34 ms +Kysely 539.48 µs/iter (428.5 µs … 3.39 ms) 544.2 µs 1.18 ms 2.25 ms +Mariadb 441.11 µs/iter (297.6 µs … 8.81 ms) 407.2 µs 1.84 ms 2.96 ms +MikroORM 1.05 ms/iter (58.3 µs … 11.18 ms) 1.13 ms 5.06 ms 5.2 ms +MySQL 991.08 µs/iter (634.9 µs … 9.01 ms) 969.3 µs 3.54 ms 4.42 ms +MySQL2 496.86 µs/iter (371.7 µs … 6.59 ms) 479.8 µs 1.71 ms 2.25 ms +Prisma 860.26 µs/iter (704.7 µs … 5.28 ms) 846.8 µs 2.32 ms 2.74 ms +Sequelize 957.5 µs/iter (731.2 µs … 7.82 ms) 941.71 µs 2.5 ms 3.71 ms +TypeORM 1.06 ms/iter (821.2 µs … 5.19 ms) 1.06 ms 2.94 ms 4.23 ms summary for MySQL Mariadb - 1.16x faster than MySQL2 - 1.32x faster than Kysely - 1.75x faster than KnexJS - 1.93x faster than Prisma - 2.11x faster than MySQL - 2.24x faster than Sequelize - 2.42x faster than DrizzleORM - 2.47x faster than MikroORM - 2.57x faster than TypeORM + 1.13x faster than MySQL2 + 1.22x faster than Kysely + 1.71x faster than KnexJS + 1.95x faster than Prisma + 2.15x faster than DrizzleORM + 2.17x faster than Sequelize + 2.25x faster than MySQL + 2.39x faster than MikroORM + 2.39x faster than TypeORM diff --git a/results/node-mysql-default.txt b/results/node-mysql-default.txt index 898ae65..89f24ad 100644 --- a/results/node-mysql-default.txt +++ b/results/node-mysql-default.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 989.25 µs/iter (690 µs … 8.04 ms) 924.9 µs 5.04 ms 6.99 ms -KnexJS 765.66 µs/iter (567.3 µs … 5.96 ms) 749.1 µs 2.22 ms 3.32 ms -Kysely 549.26 µs/iter (433.2 µs … 3.11 ms) 549.2 µs 1.66 ms 2.8 ms -Mariadb 414.19 µs/iter (294.4 µs … 7.11 ms) 413.5 µs 1.21 ms 1.72 ms -MikroORM 1.05 ms/iter (53 µs … 6.16 ms) 1.17 ms 3.27 ms 3.65 ms -MySQL 899.14 µs/iter (659.2 µs … 9.24 ms) 880.71 µs 3.4 ms 4.37 ms -MySQL2 503.75 µs/iter (390.1 µs … 5.48 ms) 485.8 µs 1.79 ms 2.74 ms -Prisma 933.77 µs/iter (742.5 µs … 5.74 ms) 928 µs 2.13 ms 2.7 ms -Sequelize 932.44 µs/iter (719.3 µs … 8.28 ms) 959.31 µs 1.71 ms 4.45 ms -TypeORM 1.13 ms/iter (850.4 µs … 8.44 ms) 1.08 ms 3.56 ms 4.22 ms +DrizzleORM 961.4 µs/iter (658.1 µs … 10.25 ms) 867.4 µs 7.49 ms 7.91 ms +KnexJS 693.6 µs/iter (537.1 µs … 5.14 ms) 696.8 µs 1.62 ms 1.84 ms +Kysely 566.96 µs/iter (427.3 µs … 5.44 ms) 565.7 µs 2.03 ms 2.66 ms +Mariadb 435.12 µs/iter (303.3 µs … 6.02 ms) 414 µs 1.94 ms 3.3 ms +MikroORM 1.07 ms/iter (63.8 µs … 9.72 ms) 1.11 ms 4.58 ms 5.86 ms +MySQL 823.26 µs/iter (600.1 µs … 7.45 ms) 795.4 µs 2.35 ms 3.36 ms +MySQL2 484.01 µs/iter (389.8 µs … 3.49 ms) 480.2 µs 1.18 ms 1.79 ms +Prisma 859.53 µs/iter (683.6 µs … 6.69 ms) 847.3 µs 1.47 ms 4.95 ms +Sequelize 898 µs/iter (684.1 µs … 8.54 ms) 906.11 µs 2.11 ms 2.77 ms +TypeORM 1.15 ms/iter (844.2 µs … 18.88 ms) 1.05 ms 5.81 ms 9.64 ms summary for MySQL Mariadb - 1.22x faster than MySQL2 - 1.33x faster than Kysely - 1.85x faster than KnexJS - 2.17x faster than MySQL - 2.25x faster than Sequelize - 2.25x faster than Prisma - 2.39x faster than DrizzleORM - 2.53x faster than MikroORM - 2.73x faster than TypeORM + 1.11x faster than MySQL2 + 1.3x faster than Kysely + 1.59x faster than KnexJS + 1.89x faster than MySQL + 1.98x faster than Prisma + 2.06x faster than Sequelize + 2.21x faster than DrizzleORM + 2.45x faster than MikroORM + 2.65x faster than TypeORM diff --git a/results/node-mysql-max.txt b/results/node-mysql-max.txt index 007a044..34219df 100644 --- a/results/node-mysql-max.txt +++ b/results/node-mysql-max.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 1.45 ms/iter (729.3 µs … 7.45 ms) 1.57 ms 5.94 ms 7.22 ms -KnexJS 797.87 µs/iter (565.1 µs … 6.05 ms) 768.8 µs 2.24 ms 4.12 ms -Kysely 554.14 µs/iter (435.2 µs … 5.16 ms) 538.3 µs 1.68 ms 2.69 ms -Mariadb 519.98 µs/iter (300.8 µs … 5.84 ms) 422.9 µs 2.3 ms 3.19 ms -MikroORM 1.15 ms/iter (65.2 µs … 4.08 ms) 1.2 ms 3.51 ms 3.64 ms -MySQL 925.16 µs/iter (633 µs … 11.43 ms) 872 µs 3.93 ms 5.75 ms -MySQL2 510.19 µs/iter (379.4 µs … 4.64 ms) 485.7 µs 1.81 ms 2.51 ms -Prisma 908.58 µs/iter (709.5 µs … 10.21 ms) 872.1 µs 2.68 ms 5.12 ms -Sequelize 966.66 µs/iter (725.2 µs … 8.32 ms) 975.21 µs 2.56 ms 3.21 ms -TypeORM 1.06 ms/iter (871.11 µs … 3.75 ms) 1.09 ms 2.59 ms 2.76 ms +DrizzleORM 1.49 ms/iter (647.2 µs … 9.89 ms) 1.57 ms 6.79 ms 8.52 ms +KnexJS 753.62 µs/iter (508.3 µs … 6.56 ms) 710.2 µs 2.69 ms 3.54 ms +Kysely 575.46 µs/iter (437.1 µs … 4.83 ms) 554.2 µs 2.15 ms 3.18 ms +Mariadb 579.87 µs/iter (318.8 µs … 9.15 ms) 467.7 µs 2.45 ms 4.21 ms +MikroORM 1.02 ms/iter (52.9 µs … 8.58 ms) 1.12 ms 2.88 ms 3.64 ms +MySQL 789.29 µs/iter (600.4 µs … 8.76 ms) 772 µs 2.29 ms 3.36 ms +MySQL2 502.75 µs/iter (368.6 µs … 6.24 ms) 490.4 µs 1.72 ms 2.1 ms +Prisma 855.9 µs/iter (692.7 µs … 7.28 ms) 849 µs 1.73 ms 2.17 ms +Sequelize 899.38 µs/iter (715.3 µs … 6.75 ms) 907.6 µs 2.37 ms 3.1 ms +TypeORM 1.01 ms/iter (838.1 µs … 5.34 ms) 1 ms 2.23 ms 3.42 ms summary for MySQL MySQL2 - 1.02x faster than Mariadb - 1.09x faster than Kysely - 1.56x faster than KnexJS - 1.78x faster than Prisma - 1.81x faster than MySQL - 1.89x faster than Sequelize - 2.08x faster than TypeORM - 2.26x faster than MikroORM - 2.84x faster than DrizzleORM + 1.14x faster than Kysely + 1.15x faster than Mariadb + 1.5x faster than KnexJS + 1.57x faster than MySQL + 1.7x faster than Prisma + 1.79x faster than Sequelize + 2.01x faster than TypeORM + 2.03x faster than MikroORM + 2.97x faster than DrizzleORM diff --git a/results/node-mysql-single.txt b/results/node-mysql-single.txt index 47cb2dd..ce4120f 100644 --- a/results/node-mysql-single.txt +++ b/results/node-mysql-single.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 945.44 µs/iter (696.1 µs … 9.82 ms) 927.8 µs 3.11 ms 9.3 ms -KnexJS 737.36 µs/iter (537.6 µs … 4.02 ms) 729.8 µs 2.48 ms 2.95 ms -Kysely 566.84 µs/iter (404.1 µs … 10.4 ms) 546 µs 2.48 ms 3.4 ms -Mariadb 454.5 µs/iter (320.1 µs … 3.93 ms) 456.5 µs 1.75 ms 2.32 ms -MikroORM 1.12 ms/iter (57.2 µs … 6.79 ms) 1.19 ms 3.63 ms 5.24 ms -MySQL 895.6 µs/iter (617.1 µs … 5.89 ms) 847.9 µs 4.19 ms 4.86 ms -MySQL2 495.28 µs/iter (404.4 µs … 2.52 ms) 491.4 µs 1.12 ms 1.75 ms -Prisma 876.75 µs/iter (718.4 µs … 4.68 ms) 881.3 µs 1.66 ms 2.29 ms -Sequelize 997.77 µs/iter (697.2 µs … 10.24 ms) 951.21 µs 4 ms 5.14 ms -TypeORM 1.1 ms/iter (850.11 µs … 6.6 ms) 1.1 ms 2.75 ms 3.22 ms +DrizzleORM 992.33 µs/iter (673.1 µs … 15.24 ms) 918.8 µs 3.46 ms 7.29 ms +KnexJS 756.39 µs/iter (521.5 µs … 11.35 ms) 700.8 µs 2.48 ms 3.85 ms +Kysely 575.55 µs/iter (417.7 µs … 5.92 ms) 523.6 µs 2.62 ms 3.41 ms +Mariadb 425.18 µs/iter (303.6 µs … 8.82 ms) 417.2 µs 1.41 ms 2.49 ms +MikroORM 1.04 ms/iter (67.1 µs … 6.44 ms) 1.13 ms 4.33 ms 5.05 ms +MySQL 778.64 µs/iter (619.3 µs … 7.58 ms) 774 µs 2.32 ms 2.66 ms +MySQL2 500.34 µs/iter (377.7 µs … 5.83 ms) 477.9 µs 1.7 ms 2.44 ms +Prisma 845.72 µs/iter (669.3 µs … 10.67 ms) 829.4 µs 1.9 ms 2.94 ms +Sequelize 939.37 µs/iter (701.1 µs … 5.53 ms) 927.11 µs 2.9 ms 4.32 ms +TypeORM 1.02 ms/iter (832.6 µs … 5.16 ms) 1 ms 2.21 ms 3.33 ms summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.25x faster than Kysely - 1.62x faster than KnexJS - 1.93x faster than Prisma - 1.97x faster than MySQL - 2.08x faster than DrizzleORM - 2.2x faster than Sequelize + 1.18x faster than MySQL2 + 1.35x faster than Kysely + 1.78x faster than KnexJS + 1.83x faster than MySQL + 1.99x faster than Prisma + 2.21x faster than Sequelize + 2.33x faster than DrizzleORM 2.41x faster than TypeORM - 2.46x faster than MikroORM + 2.44x faster than MikroORM diff --git a/results/node-postgres-cpu-count.txt b/results/node-postgres-cpu-count.txt index 10d3651..39e19f8 100644 --- a/results/node-postgres-cpu-count.txt +++ b/results/node-postgres-cpu-count.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.14 ms/iter (745.6 µs … 9.54 ms) 1.01 ms 6.71 ms 8.41 ms -KnexJS 776 µs/iter (529.9 µs … 6.85 ms) 738.7 µs 3.52 ms 4.1 ms -Kysely 657.26 µs/iter (450.4 µs … 5.13 ms) 694.1 µs 2.24 ms 3.92 ms -MikroORM 1.02 ms/iter (65.6 µs … 9.99 ms) 1.11 ms 2.7 ms 3.43 ms -Pg 578.59 µs/iter (362.7 µs … 4.12 ms) 623.3 µs 2.19 ms 2.67 ms -PgTyped 649.24 µs/iter (417.4 µs … 5.43 ms) 660.4 µs 2.04 ms 3.09 ms -Postgres.js 356.53 µs/iter (249.6 µs … 3.2 ms) 347 µs 1.36 ms 1.88 ms -Prisma 852.3 µs/iter (691.9 µs … 7.03 ms) 856.7 µs 1.51 ms 1.77 ms -Sequelize 1.02 ms/iter (615.7 µs … 10.57 ms) 892.1 µs 6.25 ms 9.05 ms -TypeORM 918.07 µs/iter (632.4 µs … 11.07 ms) 879.8 µs 3.76 ms 5.03 ms +DrizzleORM 1.08 ms/iter (819.6 µs … 10.89 ms) 1.06 ms 4.06 ms 4.73 ms +KnexJS 909.86 µs/iter (537.4 µs … 7.09 ms) 880.9 µs 4.19 ms 5.6 ms +Kysely 709.43 µs/iter (444.6 µs … 12.29 ms) 746.5 µs 1.86 ms 2.49 ms +MikroORM 954.9 µs/iter (57.2 µs … 8.39 ms) 1.06 ms 2.67 ms 4.9 ms +Pg 609.68 µs/iter (370 µs … 5.55 ms) 652.9 µs 1.92 ms 3.07 ms +PgTyped 570.5 µs/iter (348.4 µs … 6.44 ms) 581.8 µs 1.83 ms 2.77 ms +Postgres.js 370.72 µs/iter (233.7 µs … 7.89 ms) 327.8 µs 2.26 ms 4.77 ms +Prisma 854.66 µs/iter (657.8 µs … 7.04 ms) 847.11 µs 1.47 ms 1.83 ms +Sequelize 790.27 µs/iter (566.7 µs … 3.64 ms) 812.9 µs 1.62 ms 1.72 ms +TypeORM 957.98 µs/iter (607.8 µs … 4.97 ms) 1.05 ms 2.4 ms 3.16 ms summary for PostgreSQL Postgres.js - 1.62x faster than Pg - 1.82x faster than PgTyped - 1.84x faster than Kysely - 2.18x faster than KnexJS - 2.39x faster than Prisma - 2.57x faster than TypeORM - 2.85x faster than Sequelize - 2.87x faster than MikroORM - 3.2x faster than DrizzleORM + 1.54x faster than PgTyped + 1.64x faster than Pg + 1.91x faster than Kysely + 2.13x faster than Sequelize + 2.31x faster than Prisma + 2.45x faster than KnexJS + 2.58x faster than MikroORM + 2.58x faster than TypeORM + 2.91x faster than DrizzleORM diff --git a/results/node-postgres-default.txt b/results/node-postgres-default.txt index 1c1ed41..1eb3bd4 100644 --- a/results/node-postgres-default.txt +++ b/results/node-postgres-default.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.34 ms/iter (756.4 µs … 10.06 ms) 1.21 ms 9.38 ms 9.64 ms -KnexJS 872.73 µs/iter (521.7 µs … 6.87 ms) 835.2 µs 4.78 ms 6.61 ms -Kysely 682.75 µs/iter (456.6 µs … 5.54 ms) 632.9 µs 3.11 ms 4.57 ms -MikroORM 1.17 ms/iter (59.2 µs … 11.2 ms) 1.12 ms 7.47 ms 10.43 ms -Pg 556.07 µs/iter (371.4 µs … 7.52 ms) 528.2 µs 2.68 ms 3.56 ms -PgTyped 596.13 µs/iter (365.5 µs … 4.63 ms) 658.2 µs 1.94 ms 3.17 ms -Postgres.js 370 µs/iter (255 µs … 7.15 ms) 349.3 µs 1.31 ms 2.54 ms -Prisma 830.13 µs/iter (685.9 µs … 7.44 ms) 832.9 µs 1.32 ms 2.34 ms -Sequelize 963.88 µs/iter (637 µs … 10.27 ms) 853.3 µs 4.91 ms 5.69 ms -TypeORM 916.02 µs/iter (646.5 µs … 4.37 ms) 1.04 ms 2.98 ms 3.81 ms +DrizzleORM 1.11 ms/iter (712.5 µs … 11.19 ms) 1.01 ms 5.03 ms 6.51 ms +KnexJS 876.81 µs/iter (588.8 µs … 4.75 ms) 900.3 µs 2.8 ms 4.11 ms +Kysely 695.28 µs/iter (453.8 µs … 9.62 ms) 685.9 µs 2.5 ms 3.32 ms +MikroORM 945.34 µs/iter (59.8 µs … 4.19 ms) 1.07 ms 1.9 ms 3.42 ms +Pg 577.86 µs/iter (352.3 µs … 3.86 ms) 622.2 µs 1.93 ms 2.36 ms +PgTyped 572.12 µs/iter (369.4 µs … 5.95 ms) 569 µs 1.93 ms 2.61 ms +Postgres.js 344.38 µs/iter (221.4 µs … 6.74 ms) 328.7 µs 1.44 ms 2.39 ms +Prisma 793.28 µs/iter (646.2 µs … 7.18 ms) 792.4 µs 1.2 ms 1.69 ms +Sequelize 881.8 µs/iter (589 µs … 8.51 ms) 803.4 µs 4.05 ms 4.86 ms +TypeORM 962.89 µs/iter (637.9 µs … 15.16 ms) 1.01 ms 3.58 ms 4.99 ms summary for PostgreSQL Postgres.js - 1.5x faster than Pg - 1.61x faster than PgTyped - 1.85x faster than Kysely - 2.24x faster than Prisma - 2.36x faster than KnexJS - 2.48x faster than TypeORM - 2.61x faster than Sequelize - 3.16x faster than MikroORM - 3.63x faster than DrizzleORM + 1.66x faster than PgTyped + 1.68x faster than Pg + 2.02x faster than Kysely + 2.3x faster than Prisma + 2.55x faster than KnexJS + 2.56x faster than Sequelize + 2.75x faster than MikroORM + 2.8x faster than TypeORM + 3.23x faster than DrizzleORM diff --git a/results/node-postgres-max.txt b/results/node-postgres-max.txt index dfb11f3..922ded8 100644 --- a/results/node-postgres-max.txt +++ b/results/node-postgres-max.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.25 ms/iter (787.2 µs … 12.97 ms) 1.14 ms 5.69 ms 7.71 ms -KnexJS 888.78 µs/iter (568.8 µs … 9.47 ms) 838.5 µs 5.13 ms 6.01 ms -Kysely 648.74 µs/iter (450.5 µs … 4.4 ms) 643.5 µs 2.14 ms 3.53 ms -MikroORM 1.1 ms/iter (66 µs … 5.9 ms) 1.14 ms 4.28 ms 5.24 ms -Pg 572.81 µs/iter (351.9 µs … 4.09 ms) 574.6 µs 2.44 ms 3.27 ms -PgTyped 556.12 µs/iter (366.4 µs … 6.38 ms) 583.7 µs 1.68 ms 3.07 ms -Postgres.js 374.42 µs/iter (252.1 µs … 8.1 ms) 337.9 µs 2.06 ms 3.11 ms -Prisma 856.95 µs/iter (699.6 µs … 9.23 ms) 851.5 µs 1.87 ms 3.21 ms -Sequelize 919.66 µs/iter (592.3 µs … 9.17 ms) 851.11 µs 5.88 ms 7.72 ms -TypeORM 943.15 µs/iter (632.5 µs … 6.07 ms) 936.01 µs 3.45 ms 4.35 ms +DrizzleORM 1.06 ms/iter (766.9 µs … 10.71 ms) 1.02 ms 4.23 ms 5.07 ms +KnexJS 943.49 µs/iter (538.8 µs … 7.05 ms) 959.7 µs 3.49 ms 4.59 ms +Kysely 665.57 µs/iter (441.6 µs … 12.37 ms) 610.3 µs 2.39 ms 3.5 ms +MikroORM 975.13 µs/iter (60.8 µs … 12.66 ms) 1.03 ms 4.09 ms 4.86 ms +Pg 582.76 µs/iter (357.7 µs … 4.04 ms) 603.2 µs 1.96 ms 3.13 ms +PgTyped 607.55 µs/iter (372.6 µs … 8.78 ms) 621.4 µs 2.33 ms 3.11 ms +Postgres.js 357.78 µs/iter (237.8 µs … 7.37 ms) 351.3 µs 987.3 µs 1.92 ms +Prisma 847.32 µs/iter (670 µs … 12.36 ms) 812.7 µs 1.86 ms 5.2 ms +Sequelize 845.21 µs/iter (572.9 µs … 8.16 ms) 766.3 µs 3.76 ms 4 ms +TypeORM 873.34 µs/iter (610.8 µs … 8.42 ms) 941.2 µs 2.39 ms 3.41 ms summary for PostgreSQL Postgres.js - 1.49x faster than PgTyped - 1.53x faster than Pg - 1.73x faster than Kysely - 2.29x faster than Prisma - 2.37x faster than KnexJS - 2.46x faster than Sequelize - 2.52x faster than TypeORM - 2.93x faster than MikroORM - 3.33x faster than DrizzleORM + 1.63x faster than Pg + 1.7x faster than PgTyped + 1.86x faster than Kysely + 2.36x faster than Sequelize + 2.37x faster than Prisma + 2.44x faster than TypeORM + 2.64x faster than KnexJS + 2.73x faster than MikroORM + 2.95x faster than DrizzleORM diff --git a/results/node-postgres-single.txt b/results/node-postgres-single.txt index cb2657c..a2f6034 100644 --- a/results/node-postgres-single.txt +++ b/results/node-postgres-single.txt @@ -1,29 +1,29 @@ -cpu: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz +cpu: Intel(R) Xeon(R) CPU E5-2673 v3 @ 2.40GHz runtime: node v20.9.0 (x64-linux) benchmark time (avg) (min … max) p75 p99 p995 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 1.02 ms/iter (706.8 µs … 8.39 ms) 998.61 µs 4.46 ms 6.68 ms -KnexJS 931.43 µs/iter (575.1 µs … 7.29 ms) 1 ms 3.31 ms 3.55 ms -Kysely 793.3 µs/iter (485.3 µs … 6.98 ms) 815.9 µs 4.62 ms 5.28 ms -MikroORM 995.48 µs/iter (60.7 µs … 4.52 ms) 1.12 ms 2.24 ms 4.01 ms -Pg 596.16 µs/iter (370.4 µs … 6.32 ms) 630.2 µs 1.86 ms 3.08 ms -PgTyped 615.07 µs/iter (357.5 µs … 6.43 ms) 657.8 µs 1.56 ms 3.02 ms -Postgres.js 353.58 µs/iter (244 µs … 8.02 ms) 351.4 µs 945.81 µs 1.85 ms -Prisma 910.52 µs/iter (690.4 µs … 7.77 ms) 856.9 µs 4.64 ms 5.96 ms -Sequelize 900.34 µs/iter (585.5 µs … 10.58 ms) 827.11 µs 4.72 ms 5.7 ms -TypeORM 943.75 µs/iter (646.6 µs … 7.68 ms) 897.3 µs 4.51 ms 7.42 ms +DrizzleORM 1.29 ms/iter (802.9 µs … 11.91 ms) 1.08 ms 7.2 ms 8.05 ms +KnexJS 852.1 µs/iter (559.1 µs … 6.88 ms) 806.6 µs 3.69 ms 4.51 ms +Kysely 704.16 µs/iter (464.7 µs … 7.61 ms) 751.8 µs 2.04 ms 3.03 ms +MikroORM 971.08 µs/iter (70.5 µs … 4.79 ms) 1.07 ms 2.22 ms 3.96 ms +Pg 584.9 µs/iter (364.2 µs … 7.66 ms) 584.5 µs 2.11 ms 2.94 ms +PgTyped 542.13 µs/iter (369.4 µs … 6.59 ms) 523.7 µs 2.65 ms 4.12 ms +Postgres.js 346.4 µs/iter (235.8 µs … 7.88 ms) 329.8 µs 1.3 ms 2.05 ms +Prisma 853.1 µs/iter (666.8 µs … 6.33 ms) 815.3 µs 2.94 ms 3.21 ms +Sequelize 839.69 µs/iter (575.4 µs … 7.29 ms) 778.8 µs 3.64 ms 4.72 ms +TypeORM 960.68 µs/iter (641.2 µs … 5.21 ms) 993.21 µs 3.52 ms 3.98 ms summary for PostgreSQL Postgres.js + 1.57x faster than PgTyped 1.69x faster than Pg - 1.74x faster than PgTyped - 2.24x faster than Kysely - 2.55x faster than Sequelize - 2.58x faster than Prisma - 2.63x faster than KnexJS - 2.67x faster than TypeORM - 2.82x faster than MikroORM - 2.89x faster than DrizzleORM + 2.03x faster than Kysely + 2.42x faster than Sequelize + 2.46x faster than KnexJS + 2.46x faster than Prisma + 2.77x faster than TypeORM + 2.8x faster than MikroORM + 3.72x faster than DrizzleORM