diff --git a/bun.lockb b/bun.lockb index d7454f9..4991320 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 6125482..fff06db 100644 --- a/package.json +++ b/package.json @@ -19,19 +19,19 @@ "@mikro-orm/postgresql": "^6.1.12", "@pgtyped/runtime": "^2.3.0", "@prisma/client": "^5.11.0", - "drizzle-orm": "^0.30.4", + "drizzle-orm": "^0.30.6", "knex": "^3.1.0", "kysely": "^0.27.3", "mariadb": "^3.3.0", "mitata": "^0.1.11", "mysql": "^2.18.1", - "mysql2": "^3.9.2", - "pg": "^8.11.3", - "pg-pool": "^3.6.1", + "mysql2": "^3.9.3", + "pg": "^8.11.4", + "pg-pool": "^3.6.2", "postgres": "~3.4.4", "prisma": "latest", - "reflect-metadata": "^0.2.1", - "sequelize": "^6.37.1", + "reflect-metadata": "^0.2.2", + "sequelize": "^6.37.2", "ts-node": "^10.9.2", "typeorm": "^0.3.20" } diff --git a/results/bun-mysql-cpu-count.txt b/results/bun-mysql-cpu-count.txt index 6e3d084..14a9025 100644 --- a/results/bun-mysql-cpu-count.txt +++ b/results/bun-mysql-cpu-count.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -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 +DrizzleORM 412 µs/iter (317 µs … 1'981 µs) 401 µs 1'569 µs 1'958 µs +KnexJS 335 µs/iter (266 µs … 1'754 µs) 331 µs 1'291 µs 1'706 µs +Kysely 304 µs/iter (247 µs … 1'569 µs) 294 µs 1'315 µs 1'457 µs +Mariadb 236 µs/iter (179 µs … 1'588 µs) 239 µs 1'201 µs 1'519 µs +MikroORM 411 µs/iter (16'291 ns … 4'398 µs) 542 µs 2'116 µs 3'263 µs +MySQL 443 µs/iter (354 µs … 1'723 µs) 435 µs 1'536 µs 1'636 µs +MySQL2 255 µs/iter (198 µs … 2'144 µs) 250 µs 1'238 µs 1'699 µs +Prisma 501 µs/iter (414 µs … 1'674 µs) 490 µs 1'484 µs 1'588 µs +Sequelize 464 µs/iter (351 µs … 2'569 µs) 446 µs 1'826 µs 2'332 µs +TypeORM 579 µs/iter (450 µs … 2'454 µs) 565 µs 1'966 µs 2'128 µs summary for MySQL Mariadb - 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.9x faster than Sequelize - 2.04x faster than Prisma - 2.49x faster than TypeORM + 1.08x faster than MySQL2 + 1.29x faster than Kysely + 1.42x faster than KnexJS + 1.74x faster than MikroORM + 1.75x faster than DrizzleORM + 1.88x faster than MySQL + 1.97x faster than Sequelize + 2.12x faster than Prisma + 2.46x faster than TypeORM diff --git a/results/bun-mysql-default.txt b/results/bun-mysql-default.txt index 2b94276..6b129b6 100644 --- a/results/bun-mysql-default.txt +++ b/results/bun-mysql-default.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -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 +DrizzleORM 419 µs/iter (316 µs … 1'817 µs) 409 µs 1'523 µs 1'760 µs +KnexJS 341 µs/iter (269 µs … 1'823 µs) 342 µs 1'299 µs 1'786 µs +Kysely 303 µs/iter (241 µs … 1'674 µs) 298 µs 1'306 µs 1'641 µs +Mariadb 244 µs/iter (183 µs … 1'398 µs) 243 µs 1'265 µs 1'388 µs +MikroORM 392 µs/iter (16'731 ns … 2'765 µs) 529 µs 1'952 µs 2'739 µs +MySQL 435 µs/iter (348 µs … 2'654 µs) 425 µs 1'615 µs 1'851 µs +MySQL2 262 µs/iter (200 µs … 1'784 µs) 255 µs 1'467 µs 1'689 µs +Prisma 510 µs/iter (417 µs … 1'908 µs) 488 µs 1'663 µs 1'816 µs +Sequelize 456 µs/iter (350 µs … 2'086 µs) 446 µs 1'642 µs 2'059 µs +TypeORM 573 µs/iter (451 µs … 2'442 µs) 566 µs 1'850 µs 2'125 µs summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.27x faster than Kysely - 1.42x faster than KnexJS - 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 + 1.07x faster than MySQL2 + 1.24x faster than Kysely + 1.4x faster than KnexJS + 1.61x faster than MikroORM + 1.72x faster than DrizzleORM + 1.78x faster than MySQL + 1.87x faster than Sequelize + 2.09x faster than Prisma + 2.35x faster than TypeORM diff --git a/results/bun-mysql-max.txt b/results/bun-mysql-max.txt index 6214651..f1df5af 100644 --- a/results/bun-mysql-max.txt +++ b/results/bun-mysql-max.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -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 +DrizzleORM 471 µs/iter (319 µs … 2'388 µs) 480 µs 2'044 µs 2'387 µs +KnexJS 342 µs/iter (266 µs … 1'820 µs) 339 µs 1'361 µs 1'683 µs +Kysely 309 µs/iter (244 µs … 1'824 µs) 302 µs 1'328 µs 1'773 µs +Mariadb 270 µs/iter (197 µs … 2'051 µs) 261 µs 1'479 µs 1'686 µs +MikroORM 394 µs/iter (16'431 ns … 2'589 µs) 534 µs 2'004 µs 2'548 µs +MySQL 438 µs/iter (342 µs … 1'991 µs) 420 µs 1'743 µs 1'933 µs +MySQL2 264 µs/iter (201 µs … 1'768 µs) 258 µs 1'591 µs 1'753 µs +Prisma 502 µs/iter (412 µs … 1'664 µs) 487 µs 1'511 µs 1'643 µs +Sequelize 469 µs/iter (350 µs … 2'496 µs) 452 µs 1'894 µs 2'426 µs +TypeORM 588 µs/iter (454 µs … 2'316 µs) 561 µs 2'099 µs 2'248 µs summary for MySQL MySQL2 1.02x faster than Mariadb 1.17x faster than Kysely - 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 + 1.3x faster than KnexJS + 1.49x faster than MikroORM + 1.66x faster than MySQL + 1.78x faster than Sequelize + 1.79x faster than DrizzleORM + 1.9x faster than Prisma + 2.23x faster than TypeORM diff --git a/results/bun-mysql-single.txt b/results/bun-mysql-single.txt index e98bda3..9d39b9b 100644 --- a/results/bun-mysql-single.txt +++ b/results/bun-mysql-single.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -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 +DrizzleORM 415 µs/iter (317 µs … 1'790 µs) 408 µs 1'536 µs 1'730 µs +KnexJS 338 µs/iter (270 µs … 1'608 µs) 335 µs 1'303 µs 1'562 µs +Kysely 302 µs/iter (242 µs … 1'605 µs) 295 µs 1'282 µs 1'531 µs +Mariadb 233 µs/iter (176 µs … 1'438 µs) 233 µs 1'217 µs 1'401 µs +MikroORM 383 µs/iter (15'780 ns … 2'563 µs) 526 µs 1'988 µs 2'467 µs +MySQL 433 µs/iter (344 µs … 1'642 µs) 427 µs 1'488 µs 1'634 µs +MySQL2 266 µs/iter (200 µs … 1'806 µs) 260 µs 1'340 µs 1'604 µs +Prisma 525 µs/iter (411 µs … 2'230 µs) 510 µs 1'603 µs 2'020 µs +Sequelize 457 µs/iter (352 µs … 2'069 µs) 441 µs 1'682 µs 2'027 µs +TypeORM 582 µs/iter (456 µs … 2'514 µs) 562 µs 1'840 µs 2'504 µs summary for MySQL Mariadb - 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.12x faster than Prisma - 2.46x faster than TypeORM + 1.14x faster than MySQL2 + 1.29x faster than Kysely + 1.45x faster than KnexJS + 1.64x faster than MikroORM + 1.78x faster than DrizzleORM + 1.86x faster than MySQL + 1.96x faster than Sequelize + 2.25x faster than Prisma + 2.5x faster than TypeORM diff --git a/results/bun-postgres-cpu-count.txt b/results/bun-postgres-cpu-count.txt index 33dbf58..f423611 100644 --- a/results/bun-postgres-cpu-count.txt +++ b/results/bun-postgres-cpu-count.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -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 +DrizzleORM 390 µs/iter (304 µs … 1'799 µs) 382 µs 1'459 µs 1'784 µs +KnexJS 360 µs/iter (272 µs … 2'570 µs) 353 µs 1'464 µs 2'404 µs +Kysely 323 µs/iter (260 µs … 1'588 µs) 311 µs 1'313 µs 1'577 µs +MikroORM 376 µs/iter (16'020 ns … 2'939 µs) 507 µs 2'028 µs 2'775 µs +Pg 279 µs/iter (224 µs … 1'380 µs) 272 µs 1'217 µs 1'331 µs +PgTyped 307 µs/iter (238 µs … 1'421 µs) 298 µs 1'307 µs 1'402 µs +Postgres.js 185 µs/iter (143 µs … 1'412 µs) 183 µs 1'120 µs 1'293 µs +Prisma 490 µs/iter (409 µs … 1'721 µs) 473 µs 1'448 µs 1'582 µs +Sequelize 408 µs/iter (312 µs … 1'941 µs) 397 µs 1'635 µs 1'917 µs +TypeORM 451 µs/iter (334 µs … 2'216 µs) 441 µs 1'749 µs 2'159 µs summary for PostgreSQL Postgres.js - 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 + 1.51x faster than Pg + 1.66x faster than PgTyped + 1.75x faster than Kysely + 1.94x faster than KnexJS + 2.03x faster than MikroORM + 2.11x faster than DrizzleORM + 2.21x faster than Sequelize + 2.43x faster than TypeORM + 2.64x faster than Prisma diff --git a/results/bun-postgres-default.txt b/results/bun-postgres-default.txt index 9b95363..6e2b697 100644 --- a/results/bun-postgres-default.txt +++ b/results/bun-postgres-default.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -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 +DrizzleORM 391 µs/iter (297 µs … 1'953 µs) 384 µs 1'431 µs 1'713 µs +KnexJS 350 µs/iter (275 µs … 1'700 µs) 341 µs 1'389 µs 1'695 µs +Kysely 322 µs/iter (260 µs … 1'795 µs) 315 µs 1'280 µs 1'641 µs +MikroORM 371 µs/iter (16'511 ns … 2'769 µs) 509 µs 1'958 µs 2'561 µs +Pg 285 µs/iter (228 µs … 1'710 µs) 271 µs 1'360 µs 1'551 µs +PgTyped 309 µs/iter (245 µs … 1'613 µs) 299 µs 1'441 µs 1'607 µs +Postgres.js 187 µs/iter (137 µs … 1'542 µs) 186 µs 1'140 µs 1'445 µs +Prisma 489 µs/iter (407 µs … 1'749 µs) 470 µs 1'524 µs 1'744 µs +Sequelize 415 µs/iter (313 µs … 2'403 µs) 398 µs 1'749 µs 2'346 µs +TypeORM 475 µs/iter (336 µs … 2'458 µs) 464 µs 1'870 µs 2'447 µs summary for PostgreSQL Postgres.js - 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 + 1.52x faster than Pg + 1.65x faster than PgTyped + 1.72x faster than Kysely + 1.87x faster than KnexJS + 1.99x faster than MikroORM + 2.09x faster than DrizzleORM + 2.22x faster than Sequelize + 2.54x faster than TypeORM + 2.61x faster than Prisma diff --git a/results/bun-postgres-max.txt b/results/bun-postgres-max.txt index 4225ee9..b4ca28e 100644 --- a/results/bun-postgres-max.txt +++ b/results/bun-postgres-max.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -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 +DrizzleORM 397 µs/iter (307 µs … 2'293 µs) 386 µs 1'627 µs 2'206 µs +KnexJS 364 µs/iter (273 µs … 2'031 µs) 359 µs 1'614 µs 2'011 µs +Kysely 320 µs/iter (259 µs … 1'726 µs) 307 µs 1'367 µs 1'634 µs +MikroORM 351 µs/iter (16'220 ns … 2'549 µs) 495 µs 1'880 µs 2'424 µs +Pg 284 µs/iter (221 µs … 1'693 µs) 271 µs 1'329 µs 1'583 µs +PgTyped 311 µs/iter (235 µs … 1'658 µs) 298 µs 1'442 µs 1'616 µs +Postgres.js 194 µs/iter (144 µs … 1'743 µs) 192 µs 1'291 µs 1'592 µs +Prisma 494 µs/iter (409 µs … 1'934 µs) 468 µs 1'664 µs 1'884 µs +Sequelize 413 µs/iter (315 µs … 2'149 µs) 399 µs 1'866 µs 2'083 µs +TypeORM 461 µs/iter (339 µs … 2'349 µs) 446 µs 1'950 µs 2'332 µs summary for PostgreSQL Postgres.js - 1.5x faster than Pg - 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 + 1.46x faster than Pg + 1.6x faster than PgTyped + 1.64x faster than Kysely + 1.8x faster than MikroORM + 1.87x faster than KnexJS + 2.04x faster than DrizzleORM + 2.12x faster than Sequelize + 2.37x faster than TypeORM + 2.54x faster than Prisma diff --git a/results/bun-postgres-single.txt b/results/bun-postgres-single.txt index 5273059..fe9e8bb 100644 --- a/results/bun-postgres-single.txt +++ b/results/bun-postgres-single.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: bun 1.0.35 (x64-linux) +runtime: bun 1.0.36 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -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 +DrizzleORM 391 µs/iter (299 µs … 1'774 µs) 384 µs 1'401 µs 1'690 µs +KnexJS 346 µs/iter (270 µs … 1'661 µs) 335 µs 1'370 µs 1'604 µs +Kysely 325 µs/iter (262 µs … 1'642 µs) 313 µs 1'371 µs 1'574 µs +MikroORM 351 µs/iter (16'361 ns … 2'207 µs) 503 µs 1'833 µs 2'170 µs +Pg 290 µs/iter (219 µs … 1'952 µs) 280 µs 1'348 µs 1'528 µs +PgTyped 304 µs/iter (243 µs … 1'552 µs) 294 µs 1'312 µs 1'528 µs +Postgres.js 186 µs/iter (140 µs … 2'071 µs) 185 µs 1'123 µs 1'331 µs +Prisma 488 µs/iter (409 µs … 1'677 µs) 467 µs 1'522 µs 1'650 µs +Sequelize 406 µs/iter (312 µs … 2'224 µs) 389 µs 1'733 µs 2'147 µs +TypeORM 455 µs/iter (344 µs … 2'230 µs) 446 µs 1'739 µs 2'150 µs summary for PostgreSQL Postgres.js - 1.46x faster than Pg - 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 + 1.56x faster than Pg + 1.64x faster than PgTyped + 1.75x faster than Kysely + 1.86x faster than KnexJS + 1.89x faster than MikroORM + 2.1x faster than DrizzleORM + 2.18x faster than Sequelize + 2.45x faster than TypeORM + 2.63x faster than Prisma diff --git a/results/node-mysql-cpu-count.txt b/results/node-mysql-cpu-count.txt index 63e1ebc..8751673 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 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 +DrizzleORM 482 µs/iter (394 µs … 1'203 µs) 507 µs 728 µs 1'028 µs +KnexJS 380 µs/iter (313 µs … 948 µs) 402 µs 511 µs 841 µs +Kysely 304 µs/iter (257 µs … 726 µs) 313 µs 393 µs 594 µs +Mariadb 247 µs/iter (193 µs … 377 µs) 263 µs 328 µs 365 µs +MikroORM 460 µs/iter (32'421 ns … 1'655 µs) 648 µs 866 µs 1'534 µs +MySQL 466 µs/iter (401 µs … 905 µs) 489 µs 609 µs 771 µs +MySQL2 281 µs/iter (242 µs … 768 µs) 291 µs 362 µs 433 µs +Prisma 513 µs/iter (462 µs … 694 µs) 522 µs 624 µs 686 µs +Sequelize 485 µs/iter (401 µs … 1'062 µs) 507 µs 704 µs 949 µs +TypeORM 599 µs/iter (518 µs … 1'230 µs) 628 µs 866 µs 1'230 µs summary for MySQL Mariadb - 1.19x faster than MySQL2 - 1.26x faster than Kysely - 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 + 1.14x faster than MySQL2 + 1.23x faster than Kysely + 1.54x faster than KnexJS + 1.86x faster than MikroORM + 1.89x faster than MySQL + 1.95x faster than DrizzleORM + 1.96x faster than Sequelize + 2.08x faster than Prisma + 2.43x faster than TypeORM diff --git a/results/node-mysql-default.txt b/results/node-mysql-default.txt index 72a6cf7..aac0b11 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 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 +DrizzleORM 484 µs/iter (388 µs … 824 µs) 519 µs 738 µs 822 µs +KnexJS 379 µs/iter (309 µs … 887 µs) 398 µs 495 µs 784 µs +Kysely 307 µs/iter (257 µs … 931 µs) 324 µs 392 µs 723 µs +Mariadb 244 µs/iter (192 µs … 588 µs) 261 µs 330 µs 392 µs +MikroORM 484 µs/iter (32'560 ns … 1'883 µs) 653 µs 898 µs 1'505 µs +MySQL 473 µs/iter (409 µs … 948 µs) 494 µs 599 µs 665 µs +MySQL2 287 µs/iter (236 µs … 797 µs) 301 µs 395 µs 663 µs +Prisma 516 µs/iter (469 µs … 707 µs) 528 µs 630 µs 691 µs +Sequelize 486 µs/iter (404 µs … 978 µs) 512 µs 726 µs 830 µs +TypeORM 591 µs/iter (518 µs … 1'085 µs) 611 µs 755 µs 1'010 µs summary for MySQL Mariadb - 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 + 1.17x faster than MySQL2 + 1.26x faster than Kysely + 1.55x faster than KnexJS + 1.94x faster than MySQL + 1.98x faster than DrizzleORM + 1.98x faster than MikroORM + 1.99x faster than Sequelize + 2.11x faster than Prisma + 2.42x faster than TypeORM diff --git a/results/node-mysql-max.txt b/results/node-mysql-max.txt index 828a992..d95f84f 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 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 +DrizzleORM 508 µs/iter (386 µs … 1'898 µs) 561 µs 1'016 µs 1'754 µs +KnexJS 377 µs/iter (302 µs … 893 µs) 401 µs 507 µs 753 µs +Kysely 303 µs/iter (265 µs … 799 µs) 312 µs 393 µs 719 µs +Mariadb 264 µs/iter (211 µs … 844 µs) 276 µs 349 µs 746 µs +MikroORM 481 µs/iter (32'270 ns … 1'635 µs) 645 µs 921 µs 1'535 µs +MySQL 467 µs/iter (403 µs … 1'452 µs) 492 µs 604 µs 699 µs +MySQL2 284 µs/iter (244 µs … 864 µs) 302 µs 366 µs 514 µs +Prisma 527 µs/iter (459 µs … 2'187 µs) 537 µs 700 µs 1'824 µs +Sequelize 484 µs/iter (404 µs … 1'054 µs) 506 µs 713 µs 901 µs +TypeORM 588 µs/iter (512 µs … 1'191 µs) 617 µs 768 µs 1'109 µs summary for MySQL Mariadb - 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 + 1.08x faster than MySQL2 + 1.15x faster than Kysely + 1.43x faster than KnexJS + 1.77x faster than MySQL + 1.82x faster than MikroORM + 1.83x faster than Sequelize + 1.93x faster than DrizzleORM 2x faster than Prisma - 2.02x faster than DrizzleORM - 2.4x faster than TypeORM + 2.23x faster than TypeORM diff --git a/results/node-mysql-single.txt b/results/node-mysql-single.txt index 32d5712..5f37db5 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 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 +DrizzleORM 479 µs/iter (391 µs … 917 µs) 503 µs 723 µs 893 µs +KnexJS 388 µs/iter (302 µs … 856 µs) 412 µs 506 µs 832 µs +Kysely 302 µs/iter (260 µs … 810 µs) 315 µs 386 µs 728 µs +Mariadb 244 µs/iter (193 µs … 580 µs) 262 µs 329 µs 380 µs +MikroORM 455 µs/iter (32'049 ns … 1'715 µs) 634 µs 890 µs 1'415 µs +MySQL 471 µs/iter (411 µs … 1'288 µs) 492 µs 599 µs 671 µs +MySQL2 278 µs/iter (234 µs … 758 µs) 292 µs 372 µs 404 µs +Prisma 518 µs/iter (455 µs … 703 µs) 529 µs 641 µs 689 µs +Sequelize 494 µs/iter (409 µs … 1'073 µs) 520 µs 724 µs 817 µs +TypeORM 597 µs/iter (512 µs … 3'320 µs) 619 µs 822 µs 3'320 µs summary for MySQL Mariadb - 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 + 1.14x faster than MySQL2 + 1.23x faster than Kysely + 1.59x faster than KnexJS + 1.86x faster than MikroORM + 1.93x faster than MySQL + 1.96x faster than DrizzleORM + 2.02x faster than Sequelize + 2.12x faster than Prisma + 2.44x faster than TypeORM diff --git a/results/node-postgres-cpu-count.txt b/results/node-postgres-cpu-count.txt index 7810448..88c334a 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 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 +DrizzleORM 403 µs/iter (320 µs … 1'193 µs) 428 µs 668 µs 863 µs +KnexJS 358 µs/iter (282 µs … 806 µs) 377 µs 539 µs 695 µs +Kysely 311 µs/iter (247 µs … 2'579 µs) 321 µs 486 µs 2'312 µs +MikroORM 442 µs/iter (32'611 ns … 1'524 µs) 620 µs 825 µs 1'421 µs +Pg 257 µs/iter (217 µs … 932 µs) 261 µs 390 µs 531 µs +PgTyped 271 µs/iter (233 µs … 1'059 µs) 277 µs 345 µs 484 µs +Postgres.js 217 µs/iter (165 µs … 1'670 µs) 232 µs 299 µs 353 µs +Prisma 509 µs/iter (453 µs … 733 µs) 521 µs 612 µs 689 µs +Sequelize 408 µs/iter (336 µs … 1'077 µs) 435 µs 612 µs 840 µs +TypeORM 432 µs/iter (359 µs … 3'042 µs) 451 µs 684 µs 2'199 µs summary for PostgreSQL Postgres.js - 1.21x faster than Pg + 1.18x 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 + 1.43x faster than Kysely + 1.65x faster than KnexJS + 1.86x faster than DrizzleORM + 1.88x faster than Sequelize + 1.99x faster than TypeORM 2.03x faster than MikroORM - 2.32x faster than Prisma + 2.34x faster than Prisma diff --git a/results/node-postgres-default.txt b/results/node-postgres-default.txt index 7c54059..505e684 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 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 +DrizzleORM 421 µs/iter (317 µs … 1'818 µs) 445 µs 822 µs 1'569 µs +KnexJS 360 µs/iter (285 µs … 888 µs) 381 µs 510 µs 812 µs +Kysely 307 µs/iter (257 µs … 2'044 µs) 314 µs 441 µs 1'687 µs +MikroORM 455 µs/iter (30'337 ns … 1'916 µs) 639 µs 840 µs 1'831 µs +Pg 253 µs/iter (220 µs … 417 µs) 259 µs 333 µs 369 µs +PgTyped 273 µs/iter (239 µs … 1'102 µs) 280 µs 347 µs 872 µs +Postgres.js 219 µs/iter (166 µs … 1'248 µs) 237 µs 288 µs 342 µs +Prisma 510 µs/iter (465 µs … 2'027 µs) 516 µs 616 µs 1'587 µs +Sequelize 412 µs/iter (334 µs … 1'050 µs) 442 µs 603 µs 1'011 µs +TypeORM 426 µs/iter (351 µs … 1'519 µs) 448 µs 653 µs 1'390 µs summary for PostgreSQL Postgres.js - 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 + 1.15x faster than Pg + 1.25x faster than PgTyped + 1.4x faster than Kysely + 1.64x faster than KnexJS + 1.88x faster than Sequelize + 1.92x faster than DrizzleORM + 1.94x faster than TypeORM + 2.08x faster than MikroORM + 2.33x faster than Prisma diff --git a/results/node-postgres-max.txt b/results/node-postgres-max.txt index 8d701d1..eeffbe4 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 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 +DrizzleORM 431 µs/iter (319 µs … 2'083 µs) 449 µs 1'001 µs 1'989 µs +KnexJS 368 µs/iter (281 µs … 1'174 µs) 388 µs 566 µs 1'086 µs +Kysely 303 µs/iter (256 µs … 1'378 µs) 315 µs 421 µs 473 µs +MikroORM 446 µs/iter (32'902 ns … 1'746 µs) 619 µs 827 µs 1'711 µs +Pg 256 µs/iter (222 µs … 682 µs) 263 µs 332 µs 398 µs +PgTyped 274 µs/iter (239 µs … 866 µs) 284 µs 345 µs 415 µs +Postgres.js 221 µs/iter (171 µs … 335 µs) 233 µs 293 µs 319 µs +Prisma 514 µs/iter (473 µs … 1'672 µs) 524 µs 612 µs 767 µs +Sequelize 414 µs/iter (335 µs … 968 µs) 438 µs 615 µs 675 µs +TypeORM 430 µs/iter (354 µs … 3'013 µs) 439 µs 677 µs 2'801 µs summary for PostgreSQL Postgres.js - 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.93x faster than DrizzleORM - 1.94x faster than MikroORM - 1.96x faster than TypeORM - 2.28x faster than Prisma + 1.16x faster than Pg + 1.24x faster than PgTyped + 1.37x faster than Kysely + 1.67x faster than KnexJS + 1.87x faster than Sequelize + 1.95x faster than TypeORM + 1.95x faster than DrizzleORM + 2.02x faster than MikroORM + 2.33x faster than Prisma diff --git a/results/node-postgres-single.txt b/results/node-postgres-single.txt index ed5d34c..8956a75 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 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 +DrizzleORM 406 µs/iter (308 µs … 860 µs) 440 µs 694 µs 802 µs +KnexJS 358 µs/iter (290 µs … 861 µs) 377 µs 509 µs 669 µs +Kysely 304 µs/iter (259 µs … 1'680 µs) 312 µs 451 µs 1'419 µs +MikroORM 428 µs/iter (35'126 ns … 1'641 µs) 608 µs 832 µs 1'408 µs +Pg 253 µs/iter (221 µs … 717 µs) 257 µs 317 µs 414 µs +PgTyped 275 µs/iter (233 µs … 1'546 µs) 280 µs 410 µs 865 µs +Postgres.js 221 µs/iter (162 µs … 1'547 µs) 241 µs 299 µs 736 µs +Prisma 508 µs/iter (463 µs … 1'478 µs) 520 µs 608 µs 687 µs +Sequelize 410 µs/iter (333 µs … 1'040 µs) 441 µs 605 µs 814 µs +TypeORM 427 µs/iter (353 µs … 2'900 µs) 445 µs 699 µs 1'839 µs summary for PostgreSQL Postgres.js - 1.16x faster than Pg - 1.23x faster than PgTyped - 1.37x faster than Kysely + 1.15x faster than Pg + 1.24x faster than PgTyped + 1.38x 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 + 1.84x faster than DrizzleORM + 1.86x faster than Sequelize + 1.93x faster than TypeORM + 1.94x faster than MikroORM + 2.3x faster than Prisma