From 1cc452345e363761bf4cd38f56203814e4919a6b Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 01:12:47 +0000 Subject: [PATCH] Commit from GitHub Actions (ORM Benchmark) --- bun.lockb | Bin 102051 -> 101422 bytes package.json | 6 ++--- results/bun-mysql-cpu-count.txt | 34 ++++++++++++------------- results/bun-mysql-default.txt | 30 +++++++++++----------- results/bun-mysql-max.txt | 34 ++++++++++++------------- 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 | 38 ++++++++++++++-------------- results/node-mysql-cpu-count.txt | 30 +++++++++++----------- results/node-mysql-default.txt | 34 ++++++++++++------------- results/node-mysql-max.txt | 30 +++++++++++----------- results/node-mysql-single.txt | 34 ++++++++++++------------- results/node-postgres-cpu-count.txt | 32 +++++++++++------------ results/node-postgres-default.txt | 38 ++++++++++++++-------------- results/node-postgres-max.txt | 38 ++++++++++++++-------------- results/node-postgres-single.txt | 38 ++++++++++++++-------------- 18 files changed, 281 insertions(+), 281 deletions(-) diff --git a/bun.lockb b/bun.lockb index aa866f55358e5c2b69406ecd20940443ed7a91cc..d8cafa0e5268bab43835721d5048e0e487c30c6c 100755 GIT binary patch delta 4128 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 LXiG{d`$qRqJR#3C diff --git a/package.json b/package.json index 3179685..3916a18 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,9 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@mikro-orm/core": "^6.3.1", - "@mikro-orm/mysql": "^6.3.1", - "@mikro-orm/postgresql": "^6.3.1", + "@mikro-orm/core": "^6.3.3", + "@mikro-orm/mysql": "^6.3.3", + "@mikro-orm/postgresql": "^6.3.3", "@pgtyped/runtime": "^2.3.0", "@prisma/client": "^5.17.0", "drizzle-orm": "^0.32.1", diff --git a/results/bun-mysql-cpu-count.txt b/results/bun-mysql-cpu-count.txt index 51cdb51..4acbb9a 100644 --- a/results/bun-mysql-cpu-count.txt +++ b/results/bun-mysql-cpu-count.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 435 µs/iter (342 µs … 1'921 µs) 421 µs 1'515 µs 1'855 µs -KnexJS 339 µs/iter (254 µs … 1'976 µs) 336 µs 1'494 µs 1'895 µs -Kysely 312 µs/iter (249 µs … 1'781 µs) 305 µs 1'353 µs 1'584 µs -Mariadb 236 µs/iter (173 µs … 1'813 µs) 236 µs 1'297 µs 1'555 µs -MikroORM 418 µs/iter (28'393 ns … 2'579 µs) 550 µs 2'116 µs 2'521 µs -MySQL2 263 µs/iter (200 µs … 1'548 µs) 262 µs 1'376 µs 1'488 µs -Prisma 524 µs/iter (426 µs … 2'168 µs) 497 µs 1'653 µs 2'017 µs -Sequelize 457 µs/iter (353 µs … 2'110 µs) 447 µs 1'823 µs 2'012 µs -TypeORM 414 µs/iter (315 µs … 3'536 µs) 400 µs 1'696 µs 2'853 µs +DrizzleORM 446 µs/iter (332 µs … 2'099 µs) 433 µs 1'594 µs 2'038 µs +KnexJS 324 µs/iter (253 µs … 1'859 µs) 317 µs 1'351 µs 1'743 µs +Kysely 306 µs/iter (240 µs … 1'627 µs) 299 µs 1'416 µs 1'610 µs +Mariadb 246 µs/iter (168 µs … 1'881 µs) 244 µs 1'316 µs 1'719 µs +MikroORM 395 µs/iter (30'387 ns … 2'353 µs) 522 µs 2'056 µs 2'333 µs +MySQL2 257 µs/iter (198 µs … 1'663 µs) 253 µs 1'341 µs 1'595 µs +Prisma 513 µs/iter (422 µs … 1'911 µs) 495 µs 1'635 µs 1'862 µs +Sequelize 473 µs/iter (343 µs … 2'598 µs) 467 µs 1'938 µs 2'470 µs +TypeORM 409 µs/iter (309 µs … 2'936 µs) 397 µs 1'643 µs 2'132 µs summary for MySQL Mariadb - 1.12x faster than MySQL2 - 1.32x faster than Kysely - 1.44x faster than KnexJS - 1.76x faster than TypeORM - 1.77x faster than MikroORM - 1.84x faster than DrizzleORM - 1.94x faster than Sequelize - 2.22x faster than Prisma + 1.05x faster than MySQL2 + 1.25x faster than Kysely + 1.32x faster than KnexJS + 1.61x faster than MikroORM + 1.66x faster than TypeORM + 1.82x faster than DrizzleORM + 1.92x faster than Sequelize + 2.09x faster than Prisma diff --git a/results/bun-mysql-default.txt b/results/bun-mysql-default.txt index 72fd4b1..12ac0a3 100644 --- a/results/bun-mysql-default.txt +++ b/results/bun-mysql-default.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 436 µs/iter (339 µs … 1'813 µs) 422 µs 1'549 µs 1'777 µs -KnexJS 328 µs/iter (261 µs … 1'567 µs) 327 µs 1'323 µs 1'453 µs -Kysely 305 µs/iter (241 µs … 1'617 µs) 299 µs 1'386 µs 1'600 µs -Mariadb 234 µs/iter (176 µs … 1'523 µs) 234 µs 1'207 µs 1'482 µs -MikroORM 416 µs/iter (29'897 ns … 2'816 µs) 530 µs 2'170 µs 2'690 µs -MySQL2 259 µs/iter (196 µs … 1'518 µs) 258 µs 1'311 µs 1'502 µs -Prisma 511 µs/iter (421 µs … 1'647 µs) 492 µs 1'492 µs 1'641 µs -Sequelize 469 µs/iter (345 µs … 2'471 µs) 454 µs 2'008 µs 2'361 µs -TypeORM 399 µs/iter (307 µs … 2'130 µs) 392 µs 1'549 µs 1'828 µs +DrizzleORM 445 µs/iter (336 µs … 2'004 µs) 434 µs 1'578 µs 1'967 µs +KnexJS 332 µs/iter (260 µs … 1'739 µs) 322 µs 1'419 µs 1'719 µs +Kysely 308 µs/iter (252 µs … 1'681 µs) 298 µs 1'384 µs 1'628 µs +Mariadb 238 µs/iter (176 µs … 1'770 µs) 238 µs 1'238 µs 1'588 µs +MikroORM 399 µs/iter (31'499 ns … 2'718 µs) 520 µs 1'999 µs 2'543 µs +MySQL2 262 µs/iter (203 µs … 1'820 µs) 259 µs 1'362 µs 1'686 µs +Prisma 520 µs/iter (420 µs … 1'850 µs) 501 µs 1'709 µs 1'829 µs +Sequelize 455 µs/iter (344 µs … 2'208 µs) 441 µs 1'802 µs 2'133 µs +TypeORM 417 µs/iter (302 µs … 1'987 µs) 404 µs 1'744 µs 1'936 µs summary for MySQL Mariadb - 1.11x faster than MySQL2 + 1.1x faster than MySQL2 1.3x faster than Kysely 1.4x faster than KnexJS - 1.7x faster than TypeORM - 1.78x faster than MikroORM - 1.86x faster than DrizzleORM - 2x faster than Sequelize - 2.18x faster than Prisma + 1.68x faster than MikroORM + 1.75x faster than TypeORM + 1.87x faster than DrizzleORM + 1.91x faster than Sequelize + 2.19x faster than Prisma diff --git a/results/bun-mysql-max.txt b/results/bun-mysql-max.txt index 5a73e0d..c78af1e 100644 --- a/results/bun-mysql-max.txt +++ b/results/bun-mysql-max.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 466 µs/iter (336 µs … 2'213 µs) 467 µs 1'922 µs 2'206 µs -KnexJS 336 µs/iter (253 µs … 2'027 µs) 332 µs 1'421 µs 2'020 µs -Kysely 306 µs/iter (241 µs … 1'598 µs) 299 µs 1'291 µs 1'530 µs -Mariadb 268 µs/iter (198 µs … 1'701 µs) 261 µs 1'374 µs 1'521 µs -MikroORM 408 µs/iter (28'563 ns … 2'521 µs) 533 µs 2'038 µs 2'420 µs -MySQL2 253 µs/iter (194 µs … 1'481 µs) 253 µs 1'263 µs 1'466 µs -Prisma 509 µs/iter (423 µs … 1'760 µs) 493 µs 1'451 µs 1'604 µs -Sequelize 447 µs/iter (339 µs … 2'300 µs) 433 µs 1'781 µs 2'079 µs -TypeORM 404 µs/iter (309 µs … 2'080 µs) 390 µs 1'733 µs 1'929 µs +DrizzleORM 480 µs/iter (334 µs … 2'681 µs) 484 µs 2'046 µs 2'571 µs +KnexJS 331 µs/iter (265 µs … 1'831 µs) 325 µs 1'434 µs 1'790 µs +Kysely 306 µs/iter (244 µs … 1'710 µs) 299 µs 1'325 µs 1'570 µs +Mariadb 272 µs/iter (199 µs … 2'048 µs) 263 µs 1'508 µs 1'750 µs +MikroORM 397 µs/iter (30'637 ns … 2'594 µs) 528 µs 1'986 µs 2'509 µs +MySQL2 263 µs/iter (204 µs … 1'677 µs) 253 µs 1'411 µs 1'634 µs +Prisma 525 µs/iter (431 µs … 1'864 µs) 504 µs 1'714 µs 1'859 µs +Sequelize 451 µs/iter (337 µs … 2'247 µs) 434 µs 1'857 µs 2'156 µs +TypeORM 404 µs/iter (310 µs … 2'011 µs) 395 µs 1'746 µs 1'942 µs summary for MySQL MySQL2 - 1.06x faster than Mariadb - 1.21x faster than Kysely - 1.33x faster than KnexJS - 1.59x faster than TypeORM - 1.61x faster than MikroORM - 1.76x faster than Sequelize - 1.84x faster than DrizzleORM - 2.01x faster than Prisma + 1.03x faster than Mariadb + 1.16x faster than Kysely + 1.26x faster than KnexJS + 1.51x faster than MikroORM + 1.54x faster than TypeORM + 1.71x faster than Sequelize + 1.83x faster than DrizzleORM + 2x faster than Prisma diff --git a/results/bun-mysql-single.txt b/results/bun-mysql-single.txt index 129ab7b..b7799cf 100644 --- a/results/bun-mysql-single.txt +++ b/results/bun-mysql-single.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 441 µs/iter (328 µs … 1'771 µs) 435 µs 1'559 µs 1'728 µs -KnexJS 328 µs/iter (257 µs … 1'632 µs) 328 µs 1'357 µs 1'529 µs -Kysely 302 µs/iter (246 µs … 1'437 µs) 298 µs 1'293 µs 1'435 µs -Mariadb 230 µs/iter (172 µs … 1'490 µs) 233 µs 1'165 µs 1'412 µs -MikroORM 411 µs/iter (32'921 ns … 2'537 µs) 534 µs 2'065 µs 2'376 µs -MySQL2 252 µs/iter (196 µs … 1'690 µs) 249 µs 1'270 µs 1'524 µs -Prisma 535 µs/iter (428 µs … 3'034 µs) 491 µs 1'627 µs 2'884 µs -Sequelize 465 µs/iter (360 µs … 2'459 µs) 450 µs 1'880 µs 2'385 µs -TypeORM 396 µs/iter (306 µs … 1'799 µs) 387 µs 1'524 µs 1'690 µs +DrizzleORM 440 µs/iter (338 µs … 1'862 µs) 429 µs 1'570 µs 1'846 µs +KnexJS 334 µs/iter (262 µs … 1'770 µs) 329 µs 1'408 µs 1'704 µs +Kysely 303 µs/iter (247 µs … 1'647 µs) 296 µs 1'324 µs 1'642 µs +Mariadb 232 µs/iter (170 µs … 1'613 µs) 231 µs 1'261 µs 1'579 µs +MikroORM 386 µs/iter (31'378 ns … 2'465 µs) 522 µs 1'958 µs 2'386 µs +MySQL2 257 µs/iter (201 µs … 1'673 µs) 254 µs 1'257 µs 1'625 µs +Prisma 521 µs/iter (432 µs … 1'932 µs) 494 µs 1'745 µs 1'927 µs +Sequelize 465 µs/iter (348 µs … 2'296 µs) 444 µs 1'915 µs 2'232 µs +TypeORM 432 µs/iter (314 µs … 3'700 µs) 417 µs 1'970 µs 3'287 µs summary for MySQL Mariadb - 1.1x faster than MySQL2 - 1.31x faster than Kysely - 1.43x faster than KnexJS - 1.72x faster than TypeORM - 1.79x faster than MikroORM - 1.92x faster than DrizzleORM - 2.02x faster than Sequelize - 2.33x faster than Prisma + 1.11x faster than MySQL2 + 1.3x faster than Kysely + 1.44x faster than KnexJS + 1.66x faster than MikroORM + 1.86x faster than TypeORM + 1.89x faster than DrizzleORM + 2x faster than Sequelize + 2.24x faster than Prisma diff --git a/results/bun-postgres-cpu-count.txt b/results/bun-postgres-cpu-count.txt index 8036501..67c6643 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 388 µs/iter (299 µs … 1'618 µs) 384 µs 1'306 µs 1'565 µs -KnexJS 351 µs/iter (261 µs … 2'859 µs) 344 µs 1'321 µs 2'317 µs -Kysely 308 µs/iter (251 µs … 1'452 µs) 304 µs 1'195 µs 1'444 µs -MikroORM 375 µs/iter (30'427 ns … 2'516 µs) 510 µs 1'906 µs 2'491 µs -Pg 263 µs/iter (215 µs … 2'206 µs) 252 µs 1'177 µs 1'326 µs -PgTyped 290 µs/iter (225 µs … 1'997 µs) 285 µs 1'251 µs 1'481 µs -Postgres.js 190 µs/iter (143 µs … 1'524 µs) 189 µs 1'116 µs 1'445 µs -Prisma 492 µs/iter (410 µs … 1'786 µs) 471 µs 1'572 µs 1'708 µs -Sequelize 397 µs/iter (309 µs … 1'962 µs) 380 µs 1'676 µs 1'954 µs -TypeORM 429 µs/iter (330 µs … 2'112 µs) 416 µs 1'717 µs 2'010 µs +DrizzleORM 404 µs/iter (306 µs … 1'856 µs) 390 µs 1'536 µs 1'826 µs +KnexJS 342 µs/iter (267 µs … 1'680 µs) 335 µs 1'414 µs 1'639 µs +Kysely 312 µs/iter (252 µs … 1'591 µs) 302 µs 1'392 µs 1'577 µs +MikroORM 394 µs/iter (29'214 ns … 2'828 µs) 534 µs 2'154 µs 2'695 µs +Pg 270 µs/iter (220 µs … 1'717 µs) 257 µs 1'412 µs 1'651 µs +PgTyped 296 µs/iter (229 µs … 1'799 µs) 287 µs 1'509 µs 1'752 µs +Postgres.js 191 µs/iter (145 µs … 1'775 µs) 191 µs 1'093 µs 1'539 µs +Prisma 519 µs/iter (423 µs … 1'933 µs) 498 µs 1'670 µs 1'874 µs +Sequelize 402 µs/iter (306 µs … 2'087 µs) 388 µs 1'732 µs 2'071 µs +TypeORM 447 µs/iter (336 µs … 2'182 µs) 434 µs 1'856 µs 2'142 µs summary for PostgreSQL Postgres.js - 1.39x faster than Pg - 1.53x faster than PgTyped - 1.62x faster than Kysely - 1.85x faster than KnexJS - 1.97x faster than MikroORM - 2.04x faster than DrizzleORM - 2.09x faster than Sequelize - 2.26x faster than TypeORM - 2.59x faster than Prisma + 1.42x faster than Pg + 1.55x faster than PgTyped + 1.64x faster than Kysely + 1.79x faster than KnexJS + 2.07x faster than MikroORM + 2.11x faster than Sequelize + 2.12x faster than DrizzleORM + 2.34x faster than TypeORM + 2.73x faster than Prisma diff --git a/results/bun-postgres-default.txt b/results/bun-postgres-default.txt index f186a97..673c7a8 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 394 µs/iter (305 µs … 1'862 µs) 390 µs 1'444 µs 1'733 µs -KnexJS 345 µs/iter (269 µs … 1'772 µs) 338 µs 1'479 µs 1'723 µs -Kysely 310 µs/iter (252 µs … 1'605 µs) 300 µs 1'321 µs 1'513 µs -MikroORM 386 µs/iter (28'433 ns … 2'645 µs) 515 µs 1'928 µs 2'456 µs -Pg 269 µs/iter (221 µs … 1'485 µs) 257 µs 1'244 µs 1'439 µs -PgTyped 285 µs/iter (231 µs … 1'479 µs) 276 µs 1'245 µs 1'449 µs -Postgres.js 187 µs/iter (142 µs … 1'476 µs) 191 µs 1'022 µs 1'192 µs -Prisma 500 µs/iter (413 µs … 1'990 µs) 487 µs 1'418 µs 1'874 µs -Sequelize 392 µs/iter (309 µs … 2'028 µs) 381 µs 1'497 µs 1'741 µs -TypeORM 438 µs/iter (327 µs … 2'520 µs) 429 µs 1'623 µs 2'158 µs +DrizzleORM 399 µs/iter (304 µs … 2'255 µs) 388 µs 1'514 µs 1'913 µs +KnexJS 342 µs/iter (264 µs … 1'850 µs) 331 µs 1'436 µs 1'743 µs +Kysely 310 µs/iter (251 µs … 1'652 µs) 299 µs 1'376 µs 1'635 µs +MikroORM 379 µs/iter (27'672 ns … 2'822 µs) 504 µs 2'057 µs 2'721 µs +Pg 266 µs/iter (219 µs … 1'615 µs) 255 µs 1'286 µs 1'558 µs +PgTyped 294 µs/iter (230 µs … 1'686 µs) 283 µs 1'450 µs 1'661 µs +Postgres.js 195 µs/iter (145 µs … 1'768 µs) 192 µs 1'114 µs 1'654 µs +Prisma 512 µs/iter (420 µs … 1'864 µs) 489 µs 1'730 µs 1'807 µs +Sequelize 406 µs/iter (311 µs … 2'189 µs) 391 µs 1'760 µs 2'071 µs +TypeORM 439 µs/iter (333 µs … 2'047 µs) 431 µs 1'831 µs 2'003 µs summary for PostgreSQL Postgres.js - 1.44x faster than Pg - 1.53x faster than PgTyped - 1.66x faster than Kysely - 1.85x faster than KnexJS - 2.07x faster than MikroORM - 2.1x faster than Sequelize - 2.11x faster than DrizzleORM - 2.35x faster than TypeORM - 2.68x faster than Prisma + 1.37x faster than Pg + 1.51x faster than PgTyped + 1.59x faster than Kysely + 1.76x faster than KnexJS + 1.95x faster than MikroORM + 2.05x faster than DrizzleORM + 2.09x faster than Sequelize + 2.25x faster than TypeORM + 2.63x faster than Prisma diff --git a/results/bun-postgres-max.txt b/results/bun-postgres-max.txt index ffff653..b28ac53 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 386 µs/iter (303 µs … 2'167 µs) 381 µs 1'316 µs 1'754 µs -KnexJS 337 µs/iter (265 µs … 1'663 µs) 332 µs 1'280 µs 1'553 µs -Kysely 309 µs/iter (249 µs … 1'926 µs) 302 µs 1'187 µs 1'569 µs -MikroORM 359 µs/iter (29'845 ns … 2'267 µs) 497 µs 1'780 µs 2'214 µs -Pg 266 µs/iter (218 µs … 1'376 µs) 255 µs 1'132 µs 1'340 µs -PgTyped 292 µs/iter (227 µs … 1'450 µs) 287 µs 1'236 µs 1'355 µs -Postgres.js 186 µs/iter (147 µs … 1'276 µs) 189 µs 1'017 µs 1'245 µs -Prisma 495 µs/iter (421 µs … 1'756 µs) 477 µs 1'419 µs 1'660 µs -Sequelize 393 µs/iter (307 µs … 1'785 µs) 384 µs 1'483 µs 1'776 µs -TypeORM 432 µs/iter (335 µs … 2'106 µs) 418 µs 1'702 µs 1'971 µs +DrizzleORM 407 µs/iter (315 µs … 2'304 µs) 399 µs 1'540 µs 2'298 µs +KnexJS 343 µs/iter (269 µs … 1'730 µs) 335 µs 1'506 µs 1'713 µs +Kysely 317 µs/iter (251 µs … 1'889 µs) 305 µs 1'465 µs 1'751 µs +MikroORM 362 µs/iter (28'433 ns … 2'522 µs) 499 µs 1'926 µs 2'397 µs +Pg 270 µs/iter (217 µs … 1'703 µs) 257 µs 1'310 µs 1'639 µs +PgTyped 289 µs/iter (228 µs … 1'672 µs) 281 µs 1'346 µs 1'594 µs +Postgres.js 194 µs/iter (146 µs … 1'723 µs) 195 µs 1'298 µs 1'617 µs +Prisma 509 µs/iter (418 µs … 1'838 µs) 489 µs 1'691 µs 1'827 µs +Sequelize 410 µs/iter (309 µs … 2'215 µs) 393 µs 1'819 µs 2'070 µs +TypeORM 444 µs/iter (333 µs … 2'497 µs) 426 µs 1'950 µs 2'326 µs summary for PostgreSQL Postgres.js - 1.43x faster than Pg - 1.57x faster than PgTyped - 1.67x faster than Kysely - 1.81x faster than KnexJS - 1.93x faster than MikroORM - 2.08x faster than DrizzleORM + 1.39x faster than Pg + 1.49x faster than PgTyped + 1.63x faster than Kysely + 1.77x faster than KnexJS + 1.86x faster than MikroORM + 2.09x faster than DrizzleORM 2.11x faster than Sequelize - 2.33x faster than TypeORM - 2.66x faster than Prisma + 2.28x faster than TypeORM + 2.62x faster than Prisma diff --git a/results/bun-postgres-single.txt b/results/bun-postgres-single.txt index b212a7c..c3df156 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 422 µs/iter (314 µs … 2'031 µs) 412 µs 1'603 µs 1'987 µs -KnexJS 344 µs/iter (265 µs … 2'340 µs) 339 µs 1'420 µs 1'751 µs -Kysely 312 µs/iter (250 µs … 1'492 µs) 302 µs 1'365 µs 1'489 µs -MikroORM 420 µs/iter (30'206 ns … 2'695 µs) 539 µs 2'168 µs 2'608 µs -Pg 274 µs/iter (210 µs … 1'861 µs) 263 µs 1'257 µs 1'592 µs -PgTyped 287 µs/iter (229 µs … 1'685 µs) 277 µs 1'424 µs 1'617 µs -Postgres.js 199 µs/iter (144 µs … 1'770 µs) 196 µs 1'200 µs 1'751 µs -Prisma 500 µs/iter (418 µs … 1'729 µs) 478 µs 1'528 µs 1'662 µs -Sequelize 405 µs/iter (305 µs … 2'447 µs) 390 µs 1'701 µs 2'149 µs -TypeORM 454 µs/iter (337 µs … 2'817 µs) 439 µs 1'853 µs 2'253 µs +DrizzleORM 406 µs/iter (309 µs … 1'798 µs) 398 µs 1'586 µs 1'753 µs +KnexJS 344 µs/iter (267 µs … 1'800 µs) 334 µs 1'487 µs 1'769 µs +Kysely 312 µs/iter (252 µs … 1'662 µs) 301 µs 1'387 µs 1'625 µs +MikroORM 391 µs/iter (31'539 ns … 2'705 µs) 508 µs 2'041 µs 2'531 µs +Pg 268 µs/iter (221 µs … 1'583 µs) 255 µs 1'280 µs 1'487 µs +PgTyped 292 µs/iter (226 µs … 1'783 µs) 286 µs 1'406 µs 1'686 µs +Postgres.js 196 µs/iter (139 µs … 1'666 µs) 198 µs 1'166 µs 1'560 µs +Prisma 518 µs/iter (432 µs … 1'973 µs) 494 µs 1'729 µs 1'934 µs +Sequelize 411 µs/iter (314 µs … 2'251 µs) 391 µs 1'807 µs 2'034 µs +TypeORM 438 µs/iter (338 µs … 2'455 µs) 424 µs 1'834 µs 2'109 µs summary for PostgreSQL Postgres.js - 1.38x faster than Pg - 1.44x faster than PgTyped - 1.57x faster than Kysely - 1.73x faster than KnexJS - 2.03x faster than Sequelize - 2.11x faster than MikroORM - 2.12x faster than DrizzleORM - 2.28x faster than TypeORM - 2.51x faster than Prisma + 1.37x faster than Pg + 1.49x faster than PgTyped + 1.59x faster than Kysely + 1.76x faster than KnexJS + 1.99x faster than MikroORM + 2.07x faster than DrizzleORM + 2.1x faster than Sequelize + 2.23x faster than TypeORM + 2.64x faster than Prisma diff --git a/results/node-mysql-cpu-count.txt b/results/node-mysql-cpu-count.txt index 431a57f..ae86cb8 100644 --- a/results/node-mysql-cpu-count.txt +++ b/results/node-mysql-cpu-count.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 418 µs/iter (357 µs … 1'153 µs) 433 µs 595 µs 1'092 µs -KnexJS 336 µs/iter (290 µs … 883 µs) 349 µs 461 µs 689 µs -Kysely 304 µs/iter (254 µs … 1'315 µs) 314 µs 447 µs 1'010 µs -Mariadb 228 µs/iter (184 µs … 532 µs) 246 µs 308 µs 365 µs -MikroORM 390 µs/iter (35'226 ns … 1'437 µs) 556 µs 770 µs 1'255 µs -MySQL2 267 µs/iter (232 µs … 1'071 µs) 279 µs 356 µs 605 µs -Prisma 490 µs/iter (444 µs … 730 µs) 498 µs 624 µs 683 µs -Sequelize 430 µs/iter (371 µs … 838 µs) 453 µs 606 µs 828 µs -TypeORM 356 µs/iter (306 µs … 991 µs) 367 µs 507 µs 832 µs +DrizzleORM 424 µs/iter (354 µs … 1'438 µs) 444 µs 658 µs 1'253 µs +KnexJS 338 µs/iter (291 µs … 813 µs) 350 µs 468 µs 748 µs +Kysely 304 µs/iter (257 µs … 633 µs) 313 µs 404 µs 617 µs +Mariadb 232 µs/iter (189 µs … 534 µs) 246 µs 311 µs 358 µs +MikroORM 393 µs/iter (32'651 ns … 1'502 µs) 554 µs 822 µs 1'299 µs +MySQL2 269 µs/iter (230 µs … 968 µs) 279 µs 361 µs 534 µs +Prisma 501 µs/iter (439 µs … 786 µs) 516 µs 609 µs 746 µs +Sequelize 435 µs/iter (375 µs … 815 µs) 459 µs 617 µs 764 µs +TypeORM 362 µs/iter (314 µs … 728 µs) 373 µs 497 µs 693 µs summary for MySQL Mariadb - 1.17x faster than MySQL2 - 1.33x faster than Kysely - 1.47x faster than KnexJS + 1.16x faster than MySQL2 + 1.31x faster than Kysely + 1.45x faster than KnexJS 1.56x faster than TypeORM - 1.71x faster than MikroORM - 1.83x faster than DrizzleORM - 1.89x faster than Sequelize + 1.69x faster than MikroORM + 1.82x faster than DrizzleORM + 1.87x faster than Sequelize 2.15x faster than Prisma diff --git a/results/node-mysql-default.txt b/results/node-mysql-default.txt index 18a63f6..f1a126b 100644 --- a/results/node-mysql-default.txt +++ b/results/node-mysql-default.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 424 µs/iter (352 µs … 1'072 µs) 444 µs 641 µs 1'071 µs -KnexJS 339 µs/iter (293 µs … 883 µs) 353 µs 463 µs 739 µs -Kysely 304 µs/iter (260 µs … 1'261 µs) 316 µs 406 µs 925 µs -Mariadb 229 µs/iter (187 µs … 591 µs) 242 µs 319 µs 417 µs -MikroORM 375 µs/iter (34'886 ns … 1'787 µs) 549 µs 780 µs 1'269 µs -MySQL2 289 µs/iter (233 µs … 1'291 µs) 298 µs 409 µs 937 µs -Prisma 523 µs/iter (471 µs … 794 µs) 538 µs 649 µs 762 µs -Sequelize 479 µs/iter (392 µs … 1'360 µs) 498 µs 729 µs 1'215 µs -TypeORM 390 µs/iter (337 µs … 1'032 µs) 403 µs 530 µs 1'013 µs +DrizzleORM 423 µs/iter (360 µs … 1'293 µs) 440 µs 632 µs 1'072 µs +KnexJS 342 µs/iter (296 µs … 833 µs) 349 µs 467 µs 736 µs +Kysely 321 µs/iter (277 µs … 875 µs) 327 µs 439 µs 874 µs +Mariadb 243 µs/iter (205 µs … 1'457 µs) 250 µs 317 µs 775 µs +MikroORM 416 µs/iter (35'226 ns … 1'759 µs) 599 µs 813 µs 1'487 µs +MySQL2 289 µs/iter (250 µs … 754 µs) 296 µs 373 µs 592 µs +Prisma 532 µs/iter (474 µs … 840 µs) 546 µs 658 µs 728 µs +Sequelize 457 µs/iter (349 µs … 1'220 µs) 498 µs 736 µs 1'193 µs +TypeORM 365 µs/iter (316 µs … 772 µs) 379 µs 493 µs 706 µs summary for MySQL Mariadb - 1.27x faster than MySQL2 - 1.33x faster than Kysely - 1.48x faster than KnexJS - 1.64x faster than MikroORM - 1.71x faster than TypeORM - 1.85x faster than DrizzleORM - 2.09x faster than Sequelize - 2.29x faster than Prisma + 1.19x faster than MySQL2 + 1.32x faster than Kysely + 1.4x faster than KnexJS + 1.5x faster than TypeORM + 1.71x faster than MikroORM + 1.74x faster than DrizzleORM + 1.88x faster than Sequelize + 2.18x faster than Prisma diff --git a/results/node-mysql-max.txt b/results/node-mysql-max.txt index cd768a9..f65e3de 100644 --- a/results/node-mysql-max.txt +++ b/results/node-mysql-max.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 443 µs/iter (352 µs … 2'755 µs) 467 µs 1'015 µs 2'156 µs -KnexJS 341 µs/iter (297 µs … 787 µs) 354 µs 460 µs 685 µs -Kysely 298 µs/iter (259 µs … 2'104 µs) 305 µs 416 µs 704 µs -Mariadb 259 µs/iter (214 µs … 835 µs) 265 µs 372 µs 693 µs -MikroORM 382 µs/iter (31'038 ns … 1'272 µs) 535 µs 795 µs 1'255 µs -MySQL2 266 µs/iter (226 µs … 868 µs) 281 µs 353 µs 550 µs -Prisma 496 µs/iter (438 µs … 838 µs) 504 µs 594 µs 704 µs -Sequelize 435 µs/iter (371 µs … 963 µs) 463 µs 631 µs 809 µs -TypeORM 365 µs/iter (314 µs … 892 µs) 379 µs 504 µs 674 µs +DrizzleORM 432 µs/iter (349 µs … 1'732 µs) 455 µs 759 µs 1'436 µs +KnexJS 343 µs/iter (290 µs … 915 µs) 357 µs 467 µs 648 µs +Kysely 308 µs/iter (268 µs … 882 µs) 318 µs 388 µs 668 µs +Mariadb 259 µs/iter (216 µs … 940 µs) 269 µs 345 µs 714 µs +MikroORM 363 µs/iter (27'121 ns … 1'380 µs) 537 µs 768 µs 1'266 µs +MySQL2 268 µs/iter (224 µs … 853 µs) 280 µs 355 µs 587 µs +Prisma 501 µs/iter (436 µs … 707 µs) 515 µs 609 µs 688 µs +Sequelize 432 µs/iter (366 µs … 842 µs) 455 µs 608 µs 787 µs +TypeORM 363 µs/iter (312 µs … 873 µs) 373 µs 502 µs 685 µs summary for MySQL Mariadb 1.03x faster than MySQL2 - 1.15x faster than Kysely + 1.19x faster than Kysely 1.32x faster than KnexJS - 1.41x faster than TypeORM - 1.48x faster than MikroORM - 1.68x faster than Sequelize - 1.71x faster than DrizzleORM - 1.92x faster than Prisma + 1.4x faster than TypeORM + 1.4x faster than MikroORM + 1.67x faster than Sequelize + 1.67x faster than DrizzleORM + 1.93x faster than Prisma diff --git a/results/node-mysql-single.txt b/results/node-mysql-single.txt index 5711dae..ca60dd4 100644 --- a/results/node-mysql-single.txt +++ b/results/node-mysql-single.txt @@ -5,23 +5,23 @@ benchmark time (avg) (min … max) p75 p99 p9 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 417 µs/iter (356 µs … 1'154 µs) 434 µs 599 µs 933 µs -KnexJS 341 µs/iter (282 µs … 832 µs) 358 µs 479 µs 741 µs -Kysely 305 µs/iter (263 µs … 1'181 µs) 315 µs 399 µs 806 µs -Mariadb 228 µs/iter (185 µs … 587 µs) 245 µs 312 µs 556 µs -MikroORM 373 µs/iter (28'233 ns … 1'455 µs) 534 µs 757 µs 1'452 µs -MySQL2 265 µs/iter (220 µs … 1'064 µs) 279 µs 363 µs 610 µs -Prisma 496 µs/iter (441 µs … 1'239 µs) 501 µs 744 µs 1'005 µs -Sequelize 436 µs/iter (368 µs … 1'060 µs) 465 µs 647 µs 806 µs -TypeORM 354 µs/iter (312 µs … 719 µs) 367 µs 489 µs 706 µs +DrizzleORM 428 µs/iter (359 µs … 1'385 µs) 447 µs 640 µs 1'038 µs +KnexJS 341 µs/iter (295 µs … 889 µs) 352 µs 502 µs 728 µs +Kysely 304 µs/iter (259 µs … 1'935 µs) 318 µs 396 µs 966 µs +Mariadb 238 µs/iter (181 µs … 1'116 µs) 254 µs 342 µs 770 µs +MikroORM 365 µs/iter (33'863 ns … 1'231 µs) 542 µs 754 µs 1'230 µs +MySQL2 272 µs/iter (227 µs … 949 µs) 286 µs 370 µs 575 µs +Prisma 506 µs/iter (448 µs … 782 µs) 523 µs 647 µs 741 µs +Sequelize 431 µs/iter (362 µs … 903 µs) 451 µs 619 µs 813 µs +TypeORM 370 µs/iter (317 µs … 879 µs) 381 µs 527 µs 754 µs summary for MySQL Mariadb - 1.17x faster than MySQL2 - 1.34x faster than Kysely - 1.5x faster than KnexJS - 1.55x faster than TypeORM - 1.64x faster than MikroORM - 1.84x faster than DrizzleORM - 1.92x faster than Sequelize - 2.18x faster than Prisma + 1.15x faster than MySQL2 + 1.28x faster than Kysely + 1.44x faster than KnexJS + 1.53x faster than MikroORM + 1.56x faster than TypeORM + 1.8x faster than DrizzleORM + 1.81x faster than Sequelize + 2.13x faster than Prisma diff --git a/results/node-postgres-cpu-count.txt b/results/node-postgres-cpu-count.txt index 4f7a1c4..5c559bb 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 369 µs/iter (311 µs … 1'260 µs) 383 µs 605 µs 901 µs -KnexJS 338 µs/iter (294 µs … 718 µs) 346 µs 478 µs 667 µs -Kysely 296 µs/iter (255 µs … 1'784 µs) 302 µs 424 µs 867 µs -MikroORM 367 µs/iter (32'842 ns … 1'263 µs) 520 µs 937 µs 1'231 µs -Pg 258 µs/iter (223 µs … 831 µs) 262 µs 336 µs 398 µs -PgTyped 270 µs/iter (237 µs … 1'858 µs) 276 µs 348 µs 425 µs -Postgres.js 209 µs/iter (167 µs … 2'406 µs) 220 µs 281 µs 337 µs -Prisma 486 µs/iter (448 µs … 852 µs) 493 µs 578 µs 771 µs -Sequelize 373 µs/iter (316 µs … 906 µs) 388 µs 530 µs 805 µs -TypeORM 399 µs/iter (323 µs … 2'304 µs) 414 µs 823 µs 1'626 µs +DrizzleORM 369 µs/iter (312 µs … 1'617 µs) 393 µs 584 µs 1'133 µs +KnexJS 337 µs/iter (292 µs … 714 µs) 344 µs 473 µs 693 µs +Kysely 297 µs/iter (258 µs … 2'679 µs) 302 µs 409 µs 947 µs +MikroORM 345 µs/iter (27'402 ns … 1'223 µs) 512 µs 708 µs 1'165 µs +Pg 260 µs/iter (222 µs … 594 µs) 263 µs 380 µs 492 µs +PgTyped 271 µs/iter (239 µs … 1'701 µs) 275 µs 336 µs 388 µs +Postgres.js 210 µs/iter (169 µs … 2'439 µs) 223 µs 288 µs 344 µs +Prisma 498 µs/iter (453 µs … 1000 µs) 510 µs 609 µs 917 µs +Sequelize 381 µs/iter (318 µs … 982 µs) 401 µs 543 µs 973 µs +TypeORM 392 µs/iter (326 µs … 1'993 µs) 401 µs 673 µs 1'976 µs summary for PostgreSQL Postgres.js - 1.23x faster than Pg + 1.24x faster than Pg 1.29x faster than PgTyped 1.41x faster than Kysely - 1.61x faster than KnexJS - 1.75x faster than MikroORM + 1.6x faster than KnexJS + 1.64x faster than MikroORM 1.76x faster than DrizzleORM - 1.78x faster than Sequelize - 1.91x faster than TypeORM - 2.32x faster than Prisma + 1.81x faster than Sequelize + 1.86x faster than TypeORM + 2.37x faster than Prisma diff --git a/results/node-postgres-default.txt b/results/node-postgres-default.txt index 2d91e77..20f1de4 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 370 µs/iter (302 µs … 993 µs) 392 µs 600 µs 825 µs -KnexJS 336 µs/iter (295 µs … 720 µs) 342 µs 482 µs 708 µs -Kysely 297 µs/iter (252 µs … 1'923 µs) 302 µs 419 µs 945 µs -MikroORM 358 µs/iter (28'052 ns … 1'899 µs) 518 µs 756 µs 1'891 µs -Pg 254 µs/iter (224 µs … 481 µs) 257 µs 348 µs 464 µs -PgTyped 272 µs/iter (242 µs … 1'768 µs) 277 µs 340 µs 395 µs -Postgres.js 208 µs/iter (169 µs … 2'283 µs) 220 µs 281 µs 358 µs -Prisma 490 µs/iter (447 µs … 944 µs) 502 µs 600 µs 830 µs -Sequelize 377 µs/iter (318 µs … 893 µs) 393 µs 595 µs 851 µs -TypeORM 388 µs/iter (333 µs … 1'707 µs) 403 µs 580 µs 1'633 µs +DrizzleORM 372 µs/iter (304 µs … 1'597 µs) 391 µs 576 µs 958 µs +KnexJS 337 µs/iter (298 µs … 809 µs) 343 µs 487 µs 782 µs +Kysely 297 µs/iter (259 µs … 2'590 µs) 302 µs 422 µs 996 µs +MikroORM 358 µs/iter (34'264 ns … 1'476 µs) 520 µs 736 µs 1'281 µs +Pg 256 µs/iter (225 µs … 790 µs) 260 µs 327 µs 409 µs +PgTyped 285 µs/iter (237 µs … 2'475 µs) 289 µs 459 µs 1'025 µs +Postgres.js 207 µs/iter (170 µs … 2'206 µs) 218 µs 293 µs 347 µs +Prisma 504 µs/iter (458 µs … 868 µs) 514 µs 623 µs 685 µs +Sequelize 379 µs/iter (320 µs … 843 µs) 395 µs 528 µs 839 µs +TypeORM 394 µs/iter (328 µs … 2'556 µs) 407 µs 584 µs 1'977 µs summary for PostgreSQL Postgres.js - 1.22x faster than Pg - 1.3x faster than PgTyped - 1.43x faster than Kysely - 1.61x faster than KnexJS - 1.72x faster than MikroORM - 1.78x faster than DrizzleORM - 1.81x faster than Sequelize - 1.86x faster than TypeORM - 2.35x faster than Prisma + 1.24x faster than Pg + 1.38x faster than PgTyped + 1.44x faster than Kysely + 1.63x faster than KnexJS + 1.73x faster than MikroORM + 1.8x faster than DrizzleORM + 1.83x faster than Sequelize + 1.9x faster than TypeORM + 2.44x faster than Prisma diff --git a/results/node-postgres-max.txt b/results/node-postgres-max.txt index 08f7225..1be5731 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 369 µs/iter (314 µs … 2'142 µs) 382 µs 557 µs 1'438 µs -KnexJS 339 µs/iter (291 µs … 702 µs) 348 µs 502 µs 684 µs -Kysely 301 µs/iter (258 µs … 2'092 µs) 305 µs 442 µs 1'356 µs -MikroORM 357 µs/iter (34'134 ns … 1'426 µs) 522 µs 715 µs 1'183 µs -Pg 257 µs/iter (222 µs … 605 µs) 261 µs 332 µs 396 µs -PgTyped 278 µs/iter (249 µs … 2'075 µs) 284 µs 340 µs 399 µs -Postgres.js 198 µs/iter (163 µs … 2'516 µs) 206 µs 279 µs 396 µs -Prisma 496 µs/iter (453 µs … 1'150 µs) 504 µs 612 µs 828 µs -Sequelize 379 µs/iter (320 µs … 785 µs) 399 µs 553 µs 739 µs -TypeORM 388 µs/iter (327 µs … 1'639 µs) 398 µs 595 µs 1'573 µs +DrizzleORM 371 µs/iter (310 µs … 1'540 µs) 391 µs 583 µs 1'445 µs +KnexJS 337 µs/iter (291 µs … 726 µs) 346 µs 504 µs 708 µs +Kysely 295 µs/iter (253 µs … 2'381 µs) 301 µs 409 µs 1'535 µs +MikroORM 349 µs/iter (32'391 ns … 1'273 µs) 516 µs 714 µs 1'196 µs +Pg 256 µs/iter (221 µs … 651 µs) 260 µs 340 µs 444 µs +PgTyped 272 µs/iter (241 µs … 2'297 µs) 277 µs 343 µs 389 µs +Postgres.js 209 µs/iter (168 µs … 2'524 µs) 220 µs 278 µs 333 µs +Prisma 504 µs/iter (452 µs … 1'609 µs) 512 µs 667 µs 842 µs +Sequelize 383 µs/iter (316 µs … 1'115 µs) 407 µs 601 µs 994 µs +TypeORM 385 µs/iter (324 µs … 1'752 µs) 395 µs 576 µs 1'659 µs summary for PostgreSQL Postgres.js - 1.3x faster than Pg - 1.4x faster than PgTyped - 1.52x faster than Kysely - 1.71x faster than KnexJS - 1.8x faster than MikroORM - 1.86x faster than DrizzleORM - 1.91x faster than Sequelize - 1.96x faster than TypeORM - 2.5x faster than Prisma + 1.23x faster than Pg + 1.3x faster than PgTyped + 1.41x faster than Kysely + 1.62x faster than KnexJS + 1.67x faster than MikroORM + 1.78x faster than DrizzleORM + 1.84x faster than Sequelize + 1.85x faster than TypeORM + 2.41x faster than Prisma diff --git a/results/node-postgres-single.txt b/results/node-postgres-single.txt index 2d045d3..2946f5b 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 373 µs/iter (307 µs … 1'534 µs) 397 µs 572 µs 1'009 µs -KnexJS 337 µs/iter (295 µs … 819 µs) 345 µs 491 µs 768 µs -Kysely 296 µs/iter (258 µs … 2'307 µs) 302 µs 410 µs 936 µs -MikroORM 355 µs/iter (34'314 ns … 1'129 µs) 517 µs 718 µs 1'075 µs -Pg 257 µs/iter (224 µs … 790 µs) 261 µs 351 µs 649 µs -PgTyped 274 µs/iter (247 µs … 1'867 µs) 281 µs 343 µs 396 µs -Postgres.js 202 µs/iter (168 µs … 2'344 µs) 215 µs 277 µs 311 µs -Prisma 495 µs/iter (454 µs … 884 µs) 503 µs 585 µs 750 µs -Sequelize 378 µs/iter (319 µs … 857 µs) 404 µs 528 µs 790 µs -TypeORM 384 µs/iter (320 µs … 1'611 µs) 406 µs 564 µs 1'582 µs +DrizzleORM 372 µs/iter (309 µs … 1'602 µs) 391 µs 568 µs 817 µs +KnexJS 337 µs/iter (289 µs … 861 µs) 346 µs 495 µs 781 µs +Kysely 297 µs/iter (258 µs … 2'470 µs) 302 µs 413 µs 956 µs +MikroORM 362 µs/iter (33'024 ns … 1'185 µs) 519 µs 720 µs 1'124 µs +Pg 257 µs/iter (226 µs … 431 µs) 263 µs 327 µs 401 µs +PgTyped 274 µs/iter (241 µs … 1'859 µs) 281 µs 354 µs 387 µs +Postgres.js 210 µs/iter (168 µs … 2'661 µs) 223 µs 280 µs 329 µs +Prisma 501 µs/iter (443 µs … 779 µs) 514 µs 598 µs 658 µs +Sequelize 379 µs/iter (317 µs … 956 µs) 397 µs 549 µs 800 µs +TypeORM 388 µs/iter (326 µs … 1'831 µs) 404 µs 591 µs 1'705 µs summary for PostgreSQL Postgres.js - 1.27x faster than Pg - 1.36x faster than PgTyped - 1.47x faster than Kysely - 1.67x faster than KnexJS - 1.76x faster than MikroORM - 1.85x faster than DrizzleORM - 1.87x faster than Sequelize - 1.9x faster than TypeORM - 2.45x faster than Prisma + 1.22x faster than Pg + 1.3x faster than PgTyped + 1.41x faster than Kysely + 1.6x faster than KnexJS + 1.72x faster than MikroORM + 1.77x faster than DrizzleORM + 1.8x faster than Sequelize + 1.85x faster than TypeORM + 2.38x faster than Prisma