From b17215b7995f39dba5b337f0cdb17109c34e691a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 01:02:39 +0000 Subject: [PATCH] Commit from GitHub Actions (ORM Benchmark) --- bun.lockb | Bin 103881 -> 103881 bytes package.json | 6 ++--- results/bun-mysql-cpu-count.txt | 36 +++++++++++++------------- results/bun-mysql-default.txt | 36 +++++++++++++------------- results/bun-mysql-max.txt | 36 +++++++++++++------------- results/bun-mysql-single.txt | 34 ++++++++++++------------- results/bun-postgres-cpu-count.txt | 38 ++++++++++++++-------------- results/bun-postgres-default.txt | 38 ++++++++++++++-------------- results/bun-postgres-max.txt | 36 +++++++++++++------------- results/bun-postgres-single.txt | 36 +++++++++++++------------- results/node-mysql-cpu-count.txt | 36 +++++++++++++------------- results/node-mysql-default.txt | 38 ++++++++++++++-------------- results/node-mysql-max.txt | 38 ++++++++++++++-------------- results/node-mysql-single.txt | 38 ++++++++++++++-------------- results/node-postgres-cpu-count.txt | 38 ++++++++++++++-------------- results/node-postgres-default.txt | 38 ++++++++++++++-------------- results/node-postgres-max.txt | 36 +++++++++++++------------- results/node-postgres-single.txt | 38 ++++++++++++++-------------- 18 files changed, 298 insertions(+), 298 deletions(-) diff --git a/bun.lockb b/bun.lockb index bf1a217e1106262b3b4f366a90f56b0b884f5485..d7454f903d0506d5177387a26300f7f86c8f2cd2 100755 GIT binary patch delta 623 zcmX@Pn(gFjwh4L)P4QAQ4j+6IaaOkYfI|HI5-T6Il7%yhqW|fscHLXa^L(S{=odE@9X=jt$%~5Su(!;``-Ob&-T}2`8MsfY8NxOzHV8*{lnzDDk8|!^443Bf+qCJ_&aDb6XWvcRAXj^ZGeDt9fAh7aiOYF{Thed# zKMUiZC%b#I>8b+m`kWMJpR?tRYBIB~?_uLinqVWpu(N6LF_Gv=Hy)h)De183oYB>{ z#oz8~UCw-UT3Pg|naXoDk#j#@elK{lyd;KwIg%frBfQAKV#Kst*FO1-#Z``5uMR!A zRUiAl=j2jL3FSt!`^Vzf9)7qubH8j%hp%L{b?lL4;z5P$Bjr^tzB3PFO^E$Jvvrro zgw3|wHl{KfO@A-VC@F2k&A>C^bGY3jizh6GD>f^lVJ>( zWi;A8&5}`;5vc2d9HYqg6IP6qnSp{ac8nJtfr5Gsj9x&hvVqZexQAC4WxbwipS$6=Vvp#xe@PRv)+Re$6x(%c*`~nr75g^&opPKk zp=2=G!%1NB4GY7`olg89{^k=-0UQtsZvn7Chxgvt`sq4WNuRbj^;9qZpx^t-VNrZf z(X9VQX&&#Rri5>o_2p$c$N17_Vry#Ho}87l7p!H{vx&Lzhw;u@W`^TU>sKr1GcqtR zGW_HJ2c!=(AOK4{+v7%i>nF1g{dTaFc)VCfEo$Sls6B}a3nv(bNu2z{_iOs9&-bme zBrl~J7A{OX*%pyv|Mun=8PO_FtNHcy2dAh^zPnPwA=TD0(N?fLj4MkfTEpdSL33FJ zZ%5cHiR<(KS)Y|Uvs24{W%ubL{riu!K2=Fp;y-qC?M!YbW!9{V%`< zb7V~m-x<$bxUwQ?Zn30(+5Qv#*F9u8#p`xNL~VXIQDgF(@Rd`Q*f!g4+nCB|IQ_je zqolMULo3j5Q3i&FumxG?N)HD8Vq%Ol(=*gFG@P#O$|$|vPKGgDmeFwgG)qQVMxd?- za*QI|PgpTdW(Eqz*fCyo1PbakFnR&0$_7SXAf*_^C_nu}FeA(MR}GAtIDjIFos3%3 Vk9RT(1KAhr7!|hv?qod24FE6r@@4=4 diff --git a/package.json b/package.json index 040c951..6125482 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,9 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@mikro-orm/core": "^6.1.11", - "@mikro-orm/mysql": "^6.1.11", - "@mikro-orm/postgresql": "^6.1.11", + "@mikro-orm/core": "^6.1.12", + "@mikro-orm/mysql": "^6.1.12", + "@mikro-orm/postgresql": "^6.1.12", "@pgtyped/runtime": "^2.3.0", "@prisma/client": "^5.11.0", "drizzle-orm": "^0.30.4", diff --git a/results/bun-mysql-cpu-count.txt b/results/bun-mysql-cpu-count.txt index 2a7646b..6e3d084 100644 --- a/results/bun-mysql-cpu-count.txt +++ b/results/bun-mysql-cpu-count.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 425 µs/iter (314 µs … 2'032 µs) 415 µs 1'783 µs 1'999 µs -KnexJS 336 µs/iter (263 µs … 1'757 µs) 327 µs 1'432 µs 1'745 µs -Kysely 297 µs/iter (241 µs … 1'464 µs) 289 µs 1'361 µs 1'457 µs -Mariadb 244 µs/iter (177 µs … 2'172 µs) 242 µs 1'284 µs 1'648 µs -MikroORM 421 µs/iter (18'054 ns … 2'622 µs) 546 µs 2'112 µs 2'525 µs -MySQL 445 µs/iter (345 µs … 2'392 µs) 423 µs 1'818 µs 2'308 µs -MySQL2 266 µs/iter (201 µs … 2'014 µs) 258 µs 1'359 µs 1'745 µs -Prisma 502 µs/iter (418 µs … 1'690 µs) 482 µs 1'570 µs 1'681 µs -Sequelize 470 µs/iter (348 µs … 2'327 µs) 460 µs 1'785 µs 2'277 µs -TypeORM 583 µs/iter (464 µs … 2'035 µs) 565 µs 1'854 µs 2'020 µs +DrizzleORM 401 µs/iter (306 µs … 1'677 µs) 403 µs 1'402 µs 1'586 µs +KnexJS 330 µs/iter (239 µs … 1'513 µs) 336 µs 1'250 µs 1'468 µs +Kysely 292 µs/iter (219 µs … 1'811 µs) 287 µs 1'210 µs 1'461 µs +Mariadb 227 µs/iter (167 µs … 1'342 µs) 234 µs 1'060 µs 1'320 µs +MikroORM 353 µs/iter (15'489 ns … 2'131 µs) 509 µs 1'780 µs 2'113 µs +MySQL 416 µs/iter (313 µs … 2'232 µs) 415 µs 1'435 µs 2'130 µs +MySQL2 237 µs/iter (176 µs … 1'300 µs) 239 µs 1'113 µs 1'271 µs +Prisma 464 µs/iter (366 µs … 1'468 µs) 457 µs 1'393 µs 1'467 µs +Sequelize 432 µs/iter (336 µs … 1'641 µs) 422 µs 1'442 µs 1'638 µs +TypeORM 565 µs/iter (447 µs … 1'867 µs) 552 µs 1'696 µs 1'754 µs summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.22x faster than Kysely - 1.38x faster than KnexJS - 1.72x faster than MikroORM - 1.74x faster than DrizzleORM + 1.04x faster than MySQL2 + 1.28x faster than Kysely + 1.45x faster than KnexJS + 1.55x faster than MikroORM + 1.76x faster than DrizzleORM 1.83x faster than MySQL - 1.92x faster than Sequelize - 2.06x faster than Prisma - 2.39x faster than TypeORM + 1.9x faster than Sequelize + 2.04x faster than Prisma + 2.49x faster than TypeORM diff --git a/results/bun-mysql-default.txt b/results/bun-mysql-default.txt index 8ca5f24..2b94276 100644 --- a/results/bun-mysql-default.txt +++ b/results/bun-mysql-default.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 424 µs/iter (312 µs … 2'169 µs) 420 µs 1'642 µs 2'140 µs -KnexJS 345 µs/iter (267 µs … 1'927 µs) 336 µs 1'448 µs 1'793 µs -Kysely 301 µs/iter (244 µs … 1'578 µs) 292 µs 1'385 µs 1'576 µs -Mariadb 243 µs/iter (180 µs … 1'602 µs) 239 µs 1'371 µs 1'532 µs -MikroORM 393 µs/iter (17'011 ns … 2'960 µs) 523 µs 1'999 µs 2'690 µs -MySQL 436 µs/iter (343 µs … 2'185 µs) 426 µs 1'682 µs 1'981 µs -MySQL2 258 µs/iter (197 µs … 1'604 µs) 253 µs 1'375 µs 1'562 µs -Prisma 517 µs/iter (420 µs … 2'454 µs) 484 µs 1'709 µs 2'393 µs -Sequelize 475 µs/iter (360 µs … 2'275 µs) 456 µs 1'937 µs 2'139 µs -TypeORM 590 µs/iter (449 µs … 2'251 µs) 563 µs 1'960 µs 2'236 µs +DrizzleORM 402 µs/iter (300 µs … 2'123 µs) 404 µs 1'381 µs 1'716 µs +KnexJS 322 µs/iter (236 µs … 1'440 µs) 323 µs 1'215 µs 1'424 µs +Kysely 288 µs/iter (219 µs … 1'330 µs) 292 µs 1'207 µs 1'318 µs +Mariadb 226 µs/iter (162 µs … 1'310 µs) 230 µs 1'089 µs 1'234 µs +MikroORM 339 µs/iter (15'690 ns … 2'224 µs) 489 µs 1'733 µs 2'174 µs +MySQL 428 µs/iter (342 µs … 1'589 µs) 421 µs 1'439 µs 1'534 µs +MySQL2 246 µs/iter (189 µs … 1'289 µs) 249 µs 1'178 µs 1'251 µs +Prisma 486 µs/iter (400 µs … 1'521 µs) 467 µs 1'408 µs 1'501 µs +Sequelize 439 µs/iter (347 µs … 1'785 µs) 432 µs 1'547 µs 1'690 µs +TypeORM 557 µs/iter (445 µs … 1'984 µs) 542 µs 1'664 µs 1'939 µs summary for MySQL Mariadb - 1.06x faster than MySQL2 - 1.24x faster than Kysely + 1.09x faster than MySQL2 + 1.27x faster than Kysely 1.42x faster than KnexJS - 1.62x faster than MikroORM - 1.75x faster than DrizzleORM - 1.8x faster than MySQL - 1.96x faster than Sequelize - 2.13x faster than Prisma - 2.43x faster than TypeORM + 1.5x faster than MikroORM + 1.77x faster than DrizzleORM + 1.89x faster than MySQL + 1.94x faster than Sequelize + 2.14x faster than Prisma + 2.46x faster than TypeORM diff --git a/results/bun-mysql-max.txt b/results/bun-mysql-max.txt index 7144e2b..6214651 100644 --- a/results/bun-mysql-max.txt +++ b/results/bun-mysql-max.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 465 µs/iter (324 µs … 2'768 µs) 470 µs 2'022 µs 2'605 µs -KnexJS 349 µs/iter (274 µs … 1'873 µs) 335 µs 1'526 µs 1'866 µs -Kysely 304 µs/iter (238 µs … 2'016 µs) 290 µs 1'526 µs 1'775 µs -Mariadb 279 µs/iter (204 µs … 2'066 µs) 266 µs 1'597 µs 1'835 µs -MikroORM 395 µs/iter (16'982 ns … 2'584 µs) 522 µs 2'119 µs 2'474 µs -MySQL 441 µs/iter (351 µs … 2'636 µs) 432 µs 1'750 µs 2'178 µs -MySQL2 259 µs/iter (202 µs … 1'586 µs) 255 µs 1'373 µs 1'555 µs -Prisma 502 µs/iter (417 µs … 1'809 µs) 481 µs 1'648 µs 1'741 µs -Sequelize 470 µs/iter (354 µs … 2'370 µs) 453 µs 1'907 µs 2'178 µs -TypeORM 585 µs/iter (451 µs … 2'478 µs) 554 µs 2'076 µs 2'388 µs +DrizzleORM 442 µs/iter (316 µs … 2'564 µs) 444 µs 1'589 µs 1'986 µs +KnexJS 334 µs/iter (244 µs … 1'782 µs) 333 µs 1'314 µs 1'604 µs +Kysely 292 µs/iter (227 µs … 1'413 µs) 289 µs 1'239 µs 1'354 µs +Mariadb 255 µs/iter (184 µs … 1'600 µs) 251 µs 1'283 µs 1'522 µs +MikroORM 366 µs/iter (15'359 ns … 2'251 µs) 516 µs 1'868 µs 2'135 µs +MySQL 433 µs/iter (345 µs … 1'707 µs) 431 µs 1'497 µs 1'638 µs +MySQL2 249 µs/iter (180 µs … 1'393 µs) 248 µs 1'236 µs 1'373 µs +Prisma 479 µs/iter (382 µs … 1'529 µs) 465 µs 1'427 µs 1'508 µs +Sequelize 449 µs/iter (326 µs … 1'980 µs) 439 µs 1'644 µs 1'833 µs +TypeORM 561 µs/iter (444 µs … 2'171 µs) 546 µs 1'746 µs 1'946 µs summary for MySQL MySQL2 - 1.08x faster than Mariadb + 1.02x faster than Mariadb 1.17x faster than Kysely - 1.35x faster than KnexJS - 1.52x faster than MikroORM - 1.7x faster than MySQL - 1.8x faster than DrizzleORM - 1.82x faster than Sequelize - 1.94x faster than Prisma - 2.26x faster than TypeORM + 1.34x faster than KnexJS + 1.47x faster than MikroORM + 1.74x faster than MySQL + 1.77x faster than DrizzleORM + 1.8x faster than Sequelize + 1.92x faster than Prisma + 2.25x faster than TypeORM diff --git a/results/bun-mysql-single.txt b/results/bun-mysql-single.txt index 315abee..e98bda3 100644 --- a/results/bun-mysql-single.txt +++ b/results/bun-mysql-single.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 426 µs/iter (325 µs … 1'866 µs) 415 µs 1'614 µs 1'862 µs -KnexJS 335 µs/iter (268 µs … 1'717 µs) 325 µs 1'390 µs 1'696 µs -Kysely 299 µs/iter (241 µs … 1'526 µs) 291 µs 1'337 µs 1'493 µs -Mariadb 236 µs/iter (177 µs … 1'531 µs) 235 µs 1'266 µs 1'494 µs -MikroORM 396 µs/iter (17'262 ns … 2'599 µs) 534 µs 2'045 µs 2'502 µs -MySQL 447 µs/iter (355 µs … 1'762 µs) 435 µs 1'638 µs 1'751 µs -MySQL2 261 µs/iter (198 µs … 1'829 µs) 258 µs 1'350 µs 1'737 µs -Prisma 503 µs/iter (425 µs … 1'691 µs) 483 µs 1'568 µs 1'686 µs -Sequelize 466 µs/iter (350 µs … 2'269 µs) 447 µs 1'848 µs 2'246 µs -TypeORM 579 µs/iter (463 µs … 2'129 µs) 559 µs 1'871 µs 2'128 µs +DrizzleORM 389 µs/iter (296 µs … 1'697 µs) 386 µs 1'351 µs 1'621 µs +KnexJS 316 µs/iter (242 µs … 1'627 µs) 312 µs 1'223 µs 1'615 µs +Kysely 274 µs/iter (217 µs … 1'305 µs) 271 µs 1'137 µs 1'256 µs +Mariadb 228 µs/iter (173 µs … 1'319 µs) 234 µs 1'109 µs 1'265 µs +MikroORM 370 µs/iter (15'959 ns … 2'299 µs) 514 µs 1'778 µs 2'224 µs +MySQL 436 µs/iter (330 µs … 2'647 µs) 417 µs 1'469 µs 2'441 µs +MySQL2 242 µs/iter (183 µs … 1'358 µs) 236 µs 1'188 µs 1'258 µs +Prisma 485 µs/iter (412 µs … 1'484 µs) 468 µs 1'380 µs 1'471 µs +Sequelize 450 µs/iter (347 µs … 2'302 µs) 436 µs 1'539 µs 2'025 µs +TypeORM 562 µs/iter (446 µs … 1'817 µs) 559 µs 1'659 µs 1'809 µs summary for MySQL Mariadb - 1.11x faster than MySQL2 - 1.27x faster than Kysely - 1.42x faster than KnexJS - 1.68x faster than MikroORM - 1.81x faster than DrizzleORM - 1.9x faster than MySQL + 1.06x faster than MySQL2 + 1.2x faster than Kysely + 1.38x faster than KnexJS + 1.62x faster than MikroORM + 1.71x faster than DrizzleORM + 1.91x faster than MySQL 1.97x faster than Sequelize - 2.13x faster than Prisma + 2.12x faster than Prisma 2.46x faster than TypeORM diff --git a/results/bun-postgres-cpu-count.txt b/results/bun-postgres-cpu-count.txt index 982a724..33dbf58 100644 --- a/results/bun-postgres-cpu-count.txt +++ b/results/bun-postgres-cpu-count.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 420 µs/iter (299 µs … 2'504 µs) 408 µs 1'709 µs 2'331 µs -KnexJS 360 µs/iter (277 µs … 1'962 µs) 346 µs 1'660 µs 1'947 µs -Kysely 340 µs/iter (262 µs … 2'120 µs) 339 µs 1'452 µs 2'044 µs -MikroORM 357 µs/iter (16'431 ns … 2'549 µs) 503 µs 2'002 µs 2'499 µs -Pg 280 µs/iter (225 µs … 1'532 µs) 265 µs 1'339 µs 1'474 µs -PgTyped 310 µs/iter (248 µs … 1'558 µs) 298 µs 1'418 µs 1'539 µs -Postgres.js 189 µs/iter (141 µs … 1'700 µs) 188 µs 1'157 µs 1'472 µs -Prisma 488 µs/iter (410 µs … 1'772 µs) 467 µs 1'538 µs 1'672 µs -Sequelize 427 µs/iter (324 µs … 2'172 µs) 401 µs 1'843 µs 2'040 µs -TypeORM 460 µs/iter (341 µs … 2'305 µs) 451 µs 1'827 µs 2'207 µs +DrizzleORM 378 µs/iter (282 µs … 2'125 µs) 375 µs 1'337 µs 1'571 µs +KnexJS 332 µs/iter (260 µs … 1'602 µs) 326 µs 1'263 µs 1'551 µs +Kysely 310 µs/iter (240 µs … 2'096 µs) 304 µs 1'199 µs 1'521 µs +MikroORM 323 µs/iter (14'147 ns … 2'139 µs) 482 µs 1'708 µs 2'072 µs +Pg 265 µs/iter (209 µs … 1'260 µs) 258 µs 1'186 µs 1'245 µs +PgTyped 292 µs/iter (222 µs … 1'493 µs) 290 µs 1'226 µs 1'384 µs +Postgres.js 182 µs/iter (136 µs … 1'324 µs) 184 µs 1'085 µs 1'269 µs +Prisma 459 µs/iter (375 µs … 1'468 µs) 452 µs 1'365 µs 1'440 µs +Sequelize 376 µs/iter (288 µs … 1'861 µs) 370 µs 1'479 µs 1'846 µs +TypeORM 420 µs/iter (308 µs … 1'868 µs) 413 µs 1'543 µs 1'822 µs summary for PostgreSQL Postgres.js - 1.48x faster than Pg - 1.64x faster than PgTyped - 1.8x faster than Kysely - 1.89x faster than MikroORM - 1.91x faster than KnexJS - 2.22x faster than DrizzleORM - 2.26x faster than Sequelize - 2.44x faster than TypeORM - 2.58x faster than Prisma + 1.45x faster than Pg + 1.6x faster than PgTyped + 1.7x faster than Kysely + 1.77x faster than MikroORM + 1.82x faster than KnexJS + 2.06x faster than Sequelize + 2.07x faster than DrizzleORM + 2.3x faster than TypeORM + 2.52x faster than Prisma diff --git a/results/bun-postgres-default.txt b/results/bun-postgres-default.txt index 5656a7f..9b95363 100644 --- a/results/bun-postgres-default.txt +++ b/results/bun-postgres-default.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 387 µs/iter (301 µs … 1'743 µs) 382 µs 1'491 µs 1'706 µs -KnexJS 354 µs/iter (280 µs … 2'046 µs) 343 µs 1'496 µs 1'904 µs -Kysely 323 µs/iter (258 µs … 1'718 µs) 312 µs 1'380 µs 1'554 µs -MikroORM 372 µs/iter (16'130 ns … 2'763 µs) 507 µs 2'082 µs 2'657 µs -Pg 280 µs/iter (226 µs … 1'439 µs) 267 µs 1'326 µs 1'423 µs -PgTyped 306 µs/iter (243 µs … 1'727 µs) 294 µs 1'417 µs 1'622 µs -Postgres.js 189 µs/iter (146 µs … 1'606 µs) 191 µs 1'210 µs 1'374 µs -Prisma 500 µs/iter (417 µs … 1'686 µs) 479 µs 1'545 µs 1'626 µs -Sequelize 429 µs/iter (323 µs … 2'256 µs) 411 µs 1'884 µs 2'241 µs -TypeORM 459 µs/iter (348 µs … 2'149 µs) 444 µs 1'865 µs 2'146 µs +DrizzleORM 387 µs/iter (305 µs … 1'622 µs) 380 µs 1'375 µs 1'537 µs +KnexJS 344 µs/iter (274 µs … 1'687 µs) 336 µs 1'310 µs 1'463 µs +Kysely 319 µs/iter (246 µs … 1'378 µs) 312 µs 1'261 µs 1'370 µs +MikroORM 343 µs/iter (14'918 ns … 2'525 µs) 483 µs 1'715 µs 2'353 µs +Pg 273 µs/iter (215 µs … 1'275 µs) 267 µs 1'210 µs 1'256 µs +PgTyped 293 µs/iter (228 µs … 1'392 µs) 286 µs 1'231 µs 1'328 µs +Postgres.js 189 µs/iter (143 µs … 1'385 µs) 192 µs 1'080 µs 1'240 µs +Prisma 476 µs/iter (385 µs … 1'588 µs) 464 µs 1'392 µs 1'545 µs +Sequelize 403 µs/iter (313 µs … 1'772 µs) 386 µs 1'611 µs 1'718 µs +TypeORM 441 µs/iter (316 µs … 2'013 µs) 436 µs 1'577 µs 1'810 µs summary for PostgreSQL Postgres.js - 1.48x faster than Pg - 1.62x faster than PgTyped - 1.71x faster than Kysely - 1.87x faster than KnexJS - 1.96x faster than MikroORM - 2.04x faster than DrizzleORM - 2.27x faster than Sequelize - 2.43x faster than TypeORM - 2.64x faster than Prisma + 1.45x faster than Pg + 1.56x faster than PgTyped + 1.69x faster than Kysely + 1.82x faster than MikroORM + 1.82x faster than KnexJS + 2.05x faster than DrizzleORM + 2.14x faster than Sequelize + 2.34x faster than TypeORM + 2.53x faster than Prisma diff --git a/results/bun-postgres-max.txt b/results/bun-postgres-max.txt index e0f145b..4225ee9 100644 --- a/results/bun-postgres-max.txt +++ b/results/bun-postgres-max.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 396 µs/iter (308 µs … 2'215 µs) 385 µs 1'559 µs 1'953 µs -KnexJS 354 µs/iter (279 µs … 1'850 µs) 345 µs 1'505 µs 1'770 µs -Kysely 328 µs/iter (267 µs … 1'601 µs) 316 µs 1'380 µs 1'586 µs -MikroORM 360 µs/iter (15'629 ns … 2'456 µs) 511 µs 2'001 µs 2'428 µs -Pg 288 µs/iter (231 µs … 1'769 µs) 269 µs 1'533 µs 1'724 µs -PgTyped 311 µs/iter (248 µs … 1'764 µs) 300 µs 1'466 µs 1'759 µs -Postgres.js 192 µs/iter (148 µs … 1'577 µs) 188 µs 1'199 µs 1'450 µs -Prisma 492 µs/iter (415 µs … 1'761 µs) 471 µs 1'559 µs 1'721 µs -Sequelize 418 µs/iter (315 µs … 2'443 µs) 399 µs 1'821 µs 2'430 µs -TypeORM 463 µs/iter (342 µs … 2'418 µs) 453 µs 1'903 µs 2'309 µs +DrizzleORM 379 µs/iter (301 µs … 1'681 µs) 374 µs 1'351 µs 1'582 µs +KnexJS 337 µs/iter (258 µs … 1'630 µs) 332 µs 1'337 µs 1'519 µs +Kysely 306 µs/iter (244 µs … 1'299 µs) 301 µs 1'223 µs 1'296 µs +MikroORM 332 µs/iter (13'726 ns … 2'311 µs) 462 µs 1'661 µs 2'279 µs +Pg 282 µs/iter (227 µs … 1'399 µs) 269 µs 1'219 µs 1'335 µs +PgTyped 300 µs/iter (242 µs … 1'378 µs) 291 µs 1'271 µs 1'377 µs +Postgres.js 188 µs/iter (138 µs … 1'381 µs) 194 µs 1'117 µs 1'313 µs +Prisma 497 µs/iter (403 µs … 1'792 µs) 480 µs 1'450 µs 1'787 µs +Sequelize 403 µs/iter (313 µs … 1'825 µs) 388 µs 1'559 µs 1'722 µs +TypeORM 439 µs/iter (323 µs … 2'128 µs) 437 µs 1'621 µs 1'902 µs summary for PostgreSQL Postgres.js 1.5x faster than Pg - 1.62x faster than PgTyped - 1.71x faster than Kysely - 1.85x faster than KnexJS - 1.88x faster than MikroORM - 2.07x faster than DrizzleORM - 2.18x faster than Sequelize - 2.42x faster than TypeORM - 2.56x faster than Prisma + 1.59x faster than PgTyped + 1.63x faster than Kysely + 1.76x faster than MikroORM + 1.79x faster than KnexJS + 2.01x faster than DrizzleORM + 2.14x faster than Sequelize + 2.33x faster than TypeORM + 2.64x faster than Prisma diff --git a/results/bun-postgres-single.txt b/results/bun-postgres-single.txt index 1d806c4..5273059 100644 --- a/results/bun-postgres-single.txt +++ b/results/bun-postgres-single.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 394 µs/iter (304 µs … 1'832 µs) 387 µs 1'491 µs 1'670 µs -KnexJS 355 µs/iter (276 µs … 1'890 µs) 344 µs 1'485 µs 1'794 µs -Kysely 324 µs/iter (263 µs … 1'632 µs) 314 µs 1'343 µs 1'556 µs -MikroORM 389 µs/iter (16'982 ns … 2'725 µs) 534 µs 2'109 µs 2'698 µs -Pg 284 µs/iter (223 µs … 1'463 µs) 271 µs 1'309 µs 1'455 µs -PgTyped 315 µs/iter (246 µs … 2'076 µs) 304 µs 1'417 µs 2'006 µs -Postgres.js 194 µs/iter (144 µs … 1'633 µs) 193 µs 1'183 µs 1'442 µs -Prisma 487 µs/iter (411 µs … 1'792 µs) 469 µs 1'514 µs 1'769 µs -Sequelize 423 µs/iter (321 µs … 2'191 µs) 409 µs 1'809 µs 2'120 µs -TypeORM 462 µs/iter (345 µs … 2'249 µs) 450 µs 1'841 µs 2'181 µs +DrizzleORM 366 µs/iter (277 µs … 1'741 µs) 362 µs 1'271 µs 1'494 µs +KnexJS 325 µs/iter (251 µs … 1'634 µs) 327 µs 1'266 µs 1'586 µs +Kysely 303 µs/iter (242 µs … 1'395 µs) 299 µs 1'192 µs 1'363 µs +MikroORM 344 µs/iter (14'658 ns … 2'331 µs) 498 µs 1'811 µs 2'324 µs +Pg 261 µs/iter (206 µs … 1'331 µs) 256 µs 1'151 µs 1'253 µs +PgTyped 289 µs/iter (223 µs … 1'405 µs) 283 µs 1'214 µs 1'306 µs +Postgres.js 179 µs/iter (129 µs … 1'663 µs) 179 µs 1'048 µs 1'315 µs +Prisma 457 µs/iter (364 µs … 1'487 µs) 456 µs 1'371 µs 1'433 µs +Sequelize 392 µs/iter (295 µs … 1'922 µs) 386 µs 1'486 µs 1'816 µs +TypeORM 442 µs/iter (322 µs … 1'828 µs) 441 µs 1'599 µs 1'773 µs summary for PostgreSQL Postgres.js 1.46x faster than Pg - 1.63x faster than PgTyped - 1.67x faster than Kysely - 1.83x faster than KnexJS - 2.01x faster than MikroORM - 2.03x faster than DrizzleORM - 2.18x faster than Sequelize - 2.38x faster than TypeORM - 2.51x faster than Prisma + 1.62x faster than PgTyped + 1.7x faster than Kysely + 1.82x faster than KnexJS + 1.92x faster than MikroORM + 2.05x faster than DrizzleORM + 2.2x faster than Sequelize + 2.47x faster than TypeORM + 2.56x faster than Prisma diff --git a/results/node-mysql-cpu-count.txt b/results/node-mysql-cpu-count.txt index 6f665f6..63e1ebc 100644 --- a/results/node-mysql-cpu-count.txt +++ b/results/node-mysql-cpu-count.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 475 µs/iter (392 µs … 1'392 µs) 493 µs 770 µs 1'368 µs -KnexJS 377 µs/iter (303 µs … 1000 µs) 403 µs 482 µs 734 µs -Kysely 304 µs/iter (266 µs … 1'251 µs) 319 µs 382 µs 844 µs -Mariadb 241 µs/iter (189 µs … 615 µs) 257 µs 322 µs 428 µs -MikroORM 477 µs/iter (33'692 ns … 1'568 µs) 640 µs 861 µs 1'374 µs -MySQL 468 µs/iter (414 µs … 1'261 µs) 489 µs 594 µs 674 µs -MySQL2 284 µs/iter (240 µs … 931 µs) 293 µs 368 µs 569 µs -Prisma 513 µs/iter (459 µs … 706 µs) 523 µs 624 µs 678 µs -Sequelize 489 µs/iter (408 µs … 860 µs) 516 µs 683 µs 848 µs -TypeORM 585 µs/iter (517 µs … 1'112 µs) 603 µs 762 µs 1'090 µs +DrizzleORM 456 µs/iter (358 µs … 1'085 µs) 480 µs 704 µs 813 µs +KnexJS 361 µs/iter (294 µs … 738 µs) 380 µs 477 µs 663 µs +Kysely 280 µs/iter (239 µs … 689 µs) 290 µs 371 µs 454 µs +Mariadb 222 µs/iter (174 µs … 474 µs) 243 µs 300 µs 349 µs +MikroORM 421 µs/iter (27'952 ns … 1'070 µs) 606 µs 836 µs 1'015 µs +MySQL 437 µs/iter (374 µs … 1'081 µs) 463 µs 550 µs 679 µs +MySQL2 264 µs/iter (211 µs … 508 µs) 280 µs 349 µs 445 µs +Prisma 483 µs/iter (418 µs … 683 µs) 501 µs 591 µs 637 µs +Sequelize 449 µs/iter (371 µs … 822 µs) 477 µs 662 µs 812 µs +TypeORM 572 µs/iter (470 µs … 1'314 µs) 611 µs 800 µs 1'228 µs summary for MySQL Mariadb - 1.18x faster than MySQL2 + 1.19x faster than MySQL2 1.26x faster than Kysely - 1.56x faster than KnexJS - 1.94x faster than MySQL - 1.97x faster than DrizzleORM - 1.98x faster than MikroORM - 2.03x faster than Sequelize - 2.13x faster than Prisma - 2.43x faster than TypeORM + 1.62x faster than KnexJS + 1.89x faster than MikroORM + 1.97x faster than MySQL + 2.02x faster than Sequelize + 2.05x faster than DrizzleORM + 2.17x faster than Prisma + 2.57x faster than TypeORM diff --git a/results/node-mysql-default.txt b/results/node-mysql-default.txt index 1a5dbb2..72a6cf7 100644 --- a/results/node-mysql-default.txt +++ b/results/node-mysql-default.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 467 µs/iter (385 µs … 2'585 µs) 485 µs 728 µs 1'322 µs -KnexJS 376 µs/iter (300 µs … 867 µs) 397 µs 493 µs 787 µs -Kysely 300 µs/iter (261 µs … 877 µs) 307 µs 391 µs 685 µs -Mariadb 250 µs/iter (197 µs … 748 µs) 265 µs 330 µs 369 µs -MikroORM 472 µs/iter (32'271 ns … 4'122 µs) 648 µs 908 µs 1'836 µs -MySQL 477 µs/iter (383 µs … 1'336 µs) 499 µs 636 µs 927 µs -MySQL2 280 µs/iter (237 µs … 888 µs) 293 µs 365 µs 539 µs -Prisma 509 µs/iter (466 µs … 741 µs) 518 µs 626 µs 740 µs -Sequelize 481 µs/iter (407 µs … 963 µs) 500 µs 718 µs 827 µs -TypeORM 597 µs/iter (518 µs … 3'534 µs) 625 µs 818 µs 3'534 µs +DrizzleORM 441 µs/iter (358 µs … 2'211 µs) 463 µs 674 µs 1'270 µs +KnexJS 359 µs/iter (287 µs … 759 µs) 381 µs 482 µs 622 µs +Kysely 300 µs/iter (259 µs … 477 µs) 312 µs 380 µs 465 µs +Mariadb 257 µs/iter (196 µs … 3'163 µs) 270 µs 340 µs 1'549 µs +MikroORM 511 µs/iter (32'130 ns … 2'433 µs) 732 µs 1'112 µs 2'128 µs +MySQL 494 µs/iter (402 µs … 2'575 µs) 508 µs 627 µs 1'347 µs +MySQL2 297 µs/iter (232 µs … 2'699 µs) 313 µs 381 µs 573 µs +Prisma 513 µs/iter (436 µs … 1'081 µs) 534 µs 677 µs 1'059 µs +Sequelize 458 µs/iter (368 µs … 746 µs) 482 µs 681 µs 721 µs +TypeORM 576 µs/iter (483 µs … 1'026 µs) 598 µs 781 µs 991 µs summary for MySQL Mariadb - 1.12x faster than MySQL2 - 1.2x faster than Kysely - 1.51x faster than KnexJS - 1.87x faster than DrizzleORM - 1.89x faster than MikroORM - 1.91x faster than MySQL - 1.93x faster than Sequelize - 2.04x faster than Prisma - 2.39x faster than TypeORM + 1.16x faster than MySQL2 + 1.17x faster than Kysely + 1.4x faster than KnexJS + 1.72x faster than DrizzleORM + 1.79x faster than Sequelize + 1.92x faster than MySQL + 1.99x faster than MikroORM + 2x faster than Prisma + 2.24x faster than TypeORM diff --git a/results/node-mysql-max.txt b/results/node-mysql-max.txt index 2bce5f0..828a992 100644 --- a/results/node-mysql-max.txt +++ b/results/node-mysql-max.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 513 µs/iter (395 µs … 3'144 µs) 531 µs 1'176 µs 2'888 µs -KnexJS 375 µs/iter (306 µs … 848 µs) 397 µs 486 µs 703 µs -Kysely 302 µs/iter (263 µs … 811 µs) 309 µs 388 µs 760 µs -Mariadb 267 µs/iter (205 µs … 879 µs) 277 µs 357 µs 802 µs -MikroORM 462 µs/iter (36'618 ns … 1'656 µs) 630 µs 848 µs 1'583 µs -MySQL 457 µs/iter (409 µs … 663 µs) 463 µs 582 µs 644 µs -MySQL2 291 µs/iter (235 µs … 1'745 µs) 305 µs 406 µs 851 µs -Prisma 528 µs/iter (454 µs … 713 µs) 544 µs 643 µs 708 µs -Sequelize 496 µs/iter (406 µs … 1'399 µs) 524 µs 748 µs 1'131 µs -TypeORM 592 µs/iter (508 µs … 1'224 µs) 633 µs 773 µs 1'121 µs +DrizzleORM 483 µs/iter (358 µs … 1'916 µs) 513 µs 1'009 µs 1'683 µs +KnexJS 350 µs/iter (276 µs … 685 µs) 372 µs 467 µs 671 µs +Kysely 282 µs/iter (240 µs … 621 µs) 296 µs 365 µs 474 µs +Mariadb 239 µs/iter (184 µs … 792 µs) 252 µs 327 µs 759 µs +MikroORM 419 µs/iter (31'148 ns … 1'355 µs) 603 µs 817 µs 1'310 µs +MySQL 451 µs/iter (384 µs … 1'119 µs) 468 µs 567 µs 665 µs +MySQL2 274 µs/iter (213 µs … 1'103 µs) 289 µs 390 µs 850 µs +Prisma 479 µs/iter (417 µs … 641 µs) 498 µs 586 µs 630 µs +Sequelize 456 µs/iter (371 µs … 878 µs) 482 µs 682 µs 744 µs +TypeORM 574 µs/iter (473 µs … 3'026 µs) 602 µs 815 µs 2'642 µs summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.13x faster than Kysely - 1.41x faster than KnexJS - 1.71x faster than MySQL - 1.73x faster than MikroORM - 1.86x faster than Sequelize - 1.92x faster than DrizzleORM - 1.98x faster than Prisma - 2.22x faster than TypeORM + 1.14x faster than MySQL2 + 1.18x faster than Kysely + 1.46x faster than KnexJS + 1.75x faster than MikroORM + 1.89x faster than MySQL + 1.91x faster than Sequelize + 2x faster than Prisma + 2.02x faster than DrizzleORM + 2.4x faster than TypeORM diff --git a/results/node-mysql-single.txt b/results/node-mysql-single.txt index 60eb1ac..32d5712 100644 --- a/results/node-mysql-single.txt +++ b/results/node-mysql-single.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 473 µs/iter (387 µs … 1'463 µs) 499 µs 710 µs 970 µs -KnexJS 382 µs/iter (307 µs … 938 µs) 406 µs 500 µs 746 µs -Kysely 302 µs/iter (263 µs … 806 µs) 320 µs 384 µs 775 µs -Mariadb 248 µs/iter (196 µs … 553 µs) 259 µs 333 µs 378 µs -MikroORM 473 µs/iter (32'821 ns … 1'593 µs) 649 µs 882 µs 1'275 µs -MySQL 466 µs/iter (405 µs … 1'189 µs) 489 µs 594 µs 632 µs -MySQL2 275 µs/iter (234 µs … 730 µs) 284 µs 357 µs 496 µs -Prisma 511 µs/iter (461 µs … 687 µs) 522 µs 638 µs 685 µs -Sequelize 483 µs/iter (400 µs … 860 µs) 511 µs 719 µs 812 µs -TypeORM 597 µs/iter (514 µs … 4'731 µs) 615 µs 836 µs 4'731 µs +DrizzleORM 442 µs/iter (358 µs … 1'210 µs) 463 µs 697 µs 828 µs +KnexJS 361 µs/iter (276 µs … 743 µs) 382 µs 488 µs 733 µs +Kysely 284 µs/iter (234 µs … 685 µs) 299 µs 366 µs 447 µs +Mariadb 222 µs/iter (166 µs … 537 µs) 240 µs 312 µs 429 µs +MikroORM 443 µs/iter (30'828 ns … 1'542 µs) 611 µs 844 µs 1'431 µs +MySQL 443 µs/iter (387 µs … 1'094 µs) 463 µs 571 µs 1'035 µs +MySQL2 259 µs/iter (213 µs … 719 µs) 275 µs 332 µs 490 µs +Prisma 489 µs/iter (436 µs … 642 µs) 505 µs 594 µs 641 µs +Sequelize 445 µs/iter (370 µs … 877 µs) 464 µs 643 µs 750 µs +TypeORM 560 µs/iter (475 µs … 950 µs) 588 µs 738 µs 941 µs summary for MySQL Mariadb - 1.11x faster than MySQL2 - 1.22x faster than Kysely - 1.54x faster than KnexJS - 1.88x faster than MySQL - 1.91x faster than DrizzleORM - 1.91x faster than MikroORM - 1.95x faster than Sequelize - 2.06x faster than Prisma - 2.41x faster than TypeORM + 1.16x faster than MySQL2 + 1.28x faster than Kysely + 1.62x faster than KnexJS + 1.99x faster than DrizzleORM + 1.99x faster than MikroORM + 1.99x faster than MySQL + 2x faster than Sequelize + 2.2x faster than Prisma + 2.52x faster than TypeORM diff --git a/results/node-postgres-cpu-count.txt b/results/node-postgres-cpu-count.txt index f7baf4a..7810448 100644 --- a/results/node-postgres-cpu-count.txt +++ b/results/node-postgres-cpu-count.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 405 µs/iter (317 µs … 1'359 µs) 437 µs 664 µs 815 µs -KnexJS 373 µs/iter (283 µs … 779 µs) 394 µs 572 µs 765 µs -Kysely 305 µs/iter (258 µs … 1'431 µs) 313 µs 434 µs 520 µs -MikroORM 459 µs/iter (32'370 ns … 1'912 µs) 633 µs 988 µs 1'906 µs -Pg 257 µs/iter (217 µs … 740 µs) 263 µs 331 µs 384 µs -PgTyped 272 µs/iter (237 µs … 904 µs) 278 µs 346 µs 371 µs -Postgres.js 219 µs/iter (170 µs … 1'379 µs) 238 µs 299 µs 668 µs -Prisma 510 µs/iter (461 µs … 696 µs) 519 µs 615 µs 694 µs -Sequelize 411 µs/iter (342 µs … 999 µs) 439 µs 597 µs 887 µs -TypeORM 437 µs/iter (359 µs … 3'140 µs) 459 µs 662 µs 3'000 µs +DrizzleORM 382 µs/iter (292 µs … 826 µs) 413 µs 653 µs 793 µs +KnexJS 338 µs/iter (263 µs … 681 µs) 363 µs 475 µs 652 µs +Kysely 293 µs/iter (246 µs … 1'896 µs) 304 µs 390 µs 1'702 µs +MikroORM 420 µs/iter (30'858 ns … 2'041 µs) 610 µs 825 µs 1'806 µs +Pg 250 µs/iter (215 µs … 595 µs) 255 µs 320 µs 366 µs +PgTyped 259 µs/iter (215 µs … 738 µs) 269 µs 330 µs 400 µs +Postgres.js 207 µs/iter (155 µs … 3'082 µs) 217 µs 299 µs 1'682 µs +Prisma 480 µs/iter (416 µs … 651 µs) 502 µs 591 µs 638 µs +Sequelize 392 µs/iter (317 µs … 984 µs) 420 µs 548 µs 936 µs +TypeORM 406 µs/iter (332 µs … 1'243 µs) 427 µs 632 µs 1'199 µs summary for PostgreSQL Postgres.js - 1.18x faster than Pg - 1.24x faster than PgTyped - 1.4x faster than Kysely - 1.71x faster than KnexJS - 1.85x faster than DrizzleORM - 1.88x faster than Sequelize - 2x faster than TypeORM - 2.1x faster than MikroORM - 2.33x faster than Prisma + 1.21x faster than Pg + 1.25x faster than PgTyped + 1.41x faster than Kysely + 1.63x faster than KnexJS + 1.84x faster than DrizzleORM + 1.89x faster than Sequelize + 1.96x faster than TypeORM + 2.03x faster than MikroORM + 2.32x faster than Prisma diff --git a/results/node-postgres-default.txt b/results/node-postgres-default.txt index f99d3a0..7c54059 100644 --- a/results/node-postgres-default.txt +++ b/results/node-postgres-default.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 413 µs/iter (317 µs … 1'216 µs) 444 µs 752 µs 1'144 µs -KnexJS 363 µs/iter (292 µs … 718 µs) 379 µs 548 µs 682 µs -Kysely 309 µs/iter (261 µs … 2'047 µs) 318 µs 418 µs 2'025 µs -MikroORM 447 µs/iter (35'025 ns … 1'625 µs) 624 µs 834 µs 1'267 µs -Pg 257 µs/iter (224 µs … 934 µs) 262 µs 333 µs 423 µs -PgTyped 275 µs/iter (242 µs … 921 µs) 279 µs 353 µs 405 µs -Postgres.js 216 µs/iter (170 µs … 1'651 µs) 225 µs 300 µs 347 µs -Prisma 508 µs/iter (463 µs … 720 µs) 518 µs 633 µs 710 µs -Sequelize 413 µs/iter (340 µs … 1'950 µs) 440 µs 592 µs 1'088 µs -TypeORM 429 µs/iter (356 µs … 3'086 µs) 446 µs 652 µs 2'535 µs +DrizzleORM 401 µs/iter (289 µs … 1'368 µs) 429 µs 668 µs 1'363 µs +KnexJS 337 µs/iter (258 µs … 614 µs) 358 µs 469 µs 595 µs +Kysely 291 µs/iter (230 µs … 1'226 µs) 302 µs 421 µs 900 µs +MikroORM 414 µs/iter (30'047 ns … 1'271 µs) 587 µs 781 µs 1'112 µs +Pg 241 µs/iter (206 µs … 508 µs) 251 µs 320 µs 401 µs +PgTyped 262 µs/iter (219 µs … 881 µs) 271 µs 341 µs 431 µs +Postgres.js 198 µs/iter (147 µs … 1'296 µs) 214 µs 269 µs 314 µs +Prisma 481 µs/iter (414 µs … 697 µs) 502 µs 589 µs 696 µs +Sequelize 408 µs/iter (305 µs … 2'311 µs) 442 µs 619 µs 1'379 µs +TypeORM 408 µs/iter (326 µs … 1'053 µs) 429 µs 645 µs 979 µs summary for PostgreSQL Postgres.js - 1.19x faster than Pg - 1.27x faster than PgTyped - 1.43x faster than Kysely - 1.68x faster than KnexJS - 1.91x faster than Sequelize - 1.92x faster than DrizzleORM - 1.99x faster than TypeORM - 2.07x faster than MikroORM - 2.36x faster than Prisma + 1.22x faster than Pg + 1.32x faster than PgTyped + 1.47x faster than Kysely + 1.7x faster than KnexJS + 2.02x faster than DrizzleORM + 2.06x faster than Sequelize + 2.06x faster than TypeORM + 2.09x faster than MikroORM + 2.43x faster than Prisma diff --git a/results/node-postgres-max.txt b/results/node-postgres-max.txt index 2fcff82..8d701d1 100644 --- a/results/node-postgres-max.txt +++ b/results/node-postgres-max.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 417 µs/iter (322 µs … 1'552 µs) 450 µs 679 µs 1'379 µs -KnexJS 364 µs/iter (291 µs … 875 µs) 378 µs 536 µs 864 µs -Kysely 307 µs/iter (260 µs … 1'398 µs) 315 µs 433 µs 1'336 µs -MikroORM 450 µs/iter (32'981 ns … 1'450 µs) 629 µs 810 µs 1'397 µs -Pg 256 µs/iter (225 µs … 934 µs) 258 µs 328 µs 395 µs -PgTyped 275 µs/iter (240 µs … 843 µs) 280 µs 353 µs 403 µs -Postgres.js 215 µs/iter (171 µs … 389 µs) 231 µs 298 µs 330 µs -Prisma 509 µs/iter (471 µs … 716 µs) 518 µs 631 µs 700 µs -Sequelize 416 µs/iter (346 µs … 1'112 µs) 445 µs 618 µs 1'006 µs -TypeORM 424 µs/iter (357 µs … 1'283 µs) 441 µs 639 µs 1'282 µs +DrizzleORM 401 µs/iter (285 µs … 1'807 µs) 428 µs 753 µs 1'779 µs +KnexJS 348 µs/iter (269 µs … 843 µs) 368 µs 512 µs 743 µs +Kysely 289 µs/iter (234 µs … 1'679 µs) 300 µs 394 µs 704 µs +MikroORM 401 µs/iter (31'769 ns … 1'988 µs) 584 µs 804 µs 1'454 µs +Pg 243 µs/iter (208 µs … 658 µs) 252 µs 309 µs 360 µs +PgTyped 255 µs/iter (221 µs … 741 µs) 265 µs 331 µs 389 µs +Postgres.js 207 µs/iter (161 µs … 352 µs) 221 µs 277 µs 311 µs +Prisma 473 µs/iter (420 µs … 662 µs) 488 µs 576 µs 655 µs +Sequelize 400 µs/iter (317 µs … 1'026 µs) 433 µs 565 µs 764 µs +TypeORM 406 µs/iter (324 µs … 1'644 µs) 422 µs 675 µs 977 µs summary for PostgreSQL Postgres.js - 1.19x faster than Pg - 1.28x faster than PgTyped - 1.43x faster than Kysely - 1.69x faster than KnexJS + 1.17x faster than Pg + 1.23x faster than PgTyped + 1.39x faster than Kysely + 1.68x faster than KnexJS 1.93x faster than Sequelize - 1.94x faster than DrizzleORM - 1.97x faster than TypeORM - 2.09x faster than MikroORM - 2.37x faster than Prisma + 1.93x faster than DrizzleORM + 1.94x faster than MikroORM + 1.96x faster than TypeORM + 2.28x faster than Prisma diff --git a/results/node-postgres-single.txt b/results/node-postgres-single.txt index 7cf0ce5..ed5d34c 100644 --- a/results/node-postgres-single.txt +++ b/results/node-postgres-single.txt @@ -5,25 +5,25 @@ benchmark time (avg) (min … max) p75 p99 p --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 406 µs/iter (320 µs … 1'259 µs) 430 µs 691 µs 1'108 µs -KnexJS 361 µs/iter (285 µs … 918 µs) 380 µs 513 µs 859 µs -Kysely 305 µs/iter (253 µs … 1'758 µs) 313 µs 428 µs 1'454 µs -MikroORM 428 µs/iter (33'102 ns … 1'411 µs) 600 µs 815 µs 1'331 µs -Pg 261 µs/iter (223 µs … 955 µs) 269 µs 376 µs 611 µs -PgTyped 274 µs/iter (237 µs … 1'057 µs) 280 µs 362 µs 457 µs -Postgres.js 218 µs/iter (165 µs … 1'746 µs) 228 µs 307 µs 682 µs -Prisma 514 µs/iter (467 µs … 708 µs) 523 µs 619 µs 696 µs -Sequelize 409 µs/iter (334 µs … 1'115 µs) 438 µs 599 µs 903 µs -TypeORM 434 µs/iter (355 µs … 2'872 µs) 450 µs 756 µs 1'632 µs +DrizzleORM 389 µs/iter (305 µs … 1'225 µs) 416 µs 617 µs 1'114 µs +KnexJS 341 µs/iter (265 µs … 801 µs) 364 µs 477 µs 740 µs +Kysely 288 µs/iter (231 µs … 1'416 µs) 301 µs 401 µs 963 µs +MikroORM 409 µs/iter (30'227 ns … 1'247 µs) 583 µs 759 µs 1'207 µs +Pg 243 µs/iter (208 µs … 602 µs) 254 µs 326 µs 388 µs +PgTyped 259 µs/iter (221 µs … 746 µs) 270 µs 338 µs 395 µs +Postgres.js 210 µs/iter (170 µs … 1'337 µs) 222 µs 299 µs 431 µs +Prisma 479 µs/iter (429 µs … 1'402 µs) 498 µs 598 µs 684 µs +Sequelize 398 µs/iter (304 µs … 1'808 µs) 439 µs 593 µs 948 µs +TypeORM 401 µs/iter (332 µs … 924 µs) 419 µs 596 µs 862 µs summary for PostgreSQL Postgres.js - 1.2x faster than Pg - 1.26x faster than PgTyped - 1.4x faster than Kysely - 1.65x faster than KnexJS - 1.86x faster than DrizzleORM - 1.87x faster than Sequelize - 1.96x faster than MikroORM - 1.99x faster than TypeORM - 2.36x faster than Prisma + 1.16x faster than Pg + 1.23x faster than PgTyped + 1.37x faster than Kysely + 1.62x faster than KnexJS + 1.85x faster than DrizzleORM + 1.89x faster than Sequelize + 1.91x faster than TypeORM + 1.95x faster than MikroORM + 2.28x faster than Prisma