diff --git a/bun.lockb b/bun.lockb index c1a5430..6225265 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 9538ef8..d0d0105 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "devDependencies": { "@pgtyped/cli": "^2.3.0", "@types/mysql": "^2.15.26", - "@types/pg": "^8.11.4", + "@types/pg": "^8.11.5", "@types/pg-pool": "^2.0.6", "bun-types": "latest" }, @@ -14,24 +14,24 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@mikro-orm/core": "^6.1.12", - "@mikro-orm/mysql": "^6.1.12", - "@mikro-orm/postgresql": "^6.1.12", + "@mikro-orm/core": "^6.2.1", + "@mikro-orm/mysql": "^6.2.1", + "@mikro-orm/postgresql": "^6.2.1", "@pgtyped/runtime": "^2.3.0", "@prisma/client": "^5.12.1", - "drizzle-orm": "^0.30.7", + "drizzle-orm": "^0.30.8", "knex": "^3.1.0", "kysely": "^0.27.3", "mariadb": "^3.3.0", "mitata": "^0.1.11", "mysql": "^2.18.1", - "mysql2": "^3.9.3", + "mysql2": "^3.9.4", "pg": "^8.11.5", "pg-pool": "^3.6.2", "postgres": "~3.4.4", "prisma": "latest", "reflect-metadata": "^0.2.2", - "sequelize": "^6.37.2", + "sequelize": "^6.37.3", "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 07e37ef..a92a1bd 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 438 µs/iter (327 µs … 1'930 µs) 423 µs 1'680 µs 1'893 µs -KnexJS 358 µs/iter (270 µs … 2'936 µs) 347 µs 1'504 µs 2'280 µs -Kysely 311 µs/iter (248 µs … 1'762 µs) 302 µs 1'459 µs 1'681 µs -Mariadb 244 µs/iter (180 µs … 1'693 µs) 244 µs 1'352 µs 1'594 µs -MikroORM 415 µs/iter (17'222 ns … 3'003 µs) 546 µs 2'239 µs 2'803 µs -MySQL 439 µs/iter (349 µs … 1'932 µs) 427 µs 1'708 µs 1'864 µs -MySQL2 260 µs/iter (202 µs … 1'617 µs) 254 µs 1'357 µs 1'565 µs -Prisma 515 µs/iter (418 µs … 1'940 µs) 489 µs 1'793 µs 1'914 µs -Sequelize 472 µs/iter (359 µs … 2'696 µs) 442 µs 1'931 µs 2'444 µs -TypeORM 588 µs/iter (456 µs … 2'123 µs) 565 µs 1'944 µs 2'072 µs +DrizzleORM 425 µs/iter (327 µs … 1'758 µs) 413 µs 1'425 µs 1'715 µs +KnexJS 333 µs/iter (262 µs … 1'611 µs) 329 µs 1'295 µs 1'592 µs +Kysely 312 µs/iter (235 µs … 2'076 µs) 300 µs 1'444 µs 1'790 µs +Mariadb 232 µs/iter (177 µs … 1'422 µs) 234 µs 1'176 µs 1'385 µs +MikroORM 387 µs/iter (17'001 ns … 2'465 µs) 528 µs 2'010 µs 2'452 µs +MySQL 426 µs/iter (335 µs … 1'711 µs) 423 µs 1'463 µs 1'654 µs +MySQL2 264 µs/iter (198 µs … 2'083 µs) 257 µs 1'302 µs 1'756 µs +Prisma 484 µs/iter (410 µs … 1'712 µs) 466 µs 1'398 µs 1'696 µs +Sequelize 450 µs/iter (348 µs … 2'048 µs) 440 µs 1'682 µs 2'020 µs +TypeORM 569 µs/iter (442 µs … 2'077 µs) 556 µs 1'729 µs 2'043 µs summary for MySQL Mariadb - 1.06x faster than MySQL2 - 1.27x faster than Kysely - 1.47x faster than KnexJS - 1.7x faster than MikroORM - 1.79x faster than DrizzleORM - 1.8x faster than MySQL - 1.93x faster than Sequelize - 2.11x faster than Prisma - 2.41x faster than TypeORM + 1.14x faster than MySQL2 + 1.34x faster than Kysely + 1.44x faster than KnexJS + 1.67x faster than MikroORM + 1.83x faster than DrizzleORM + 1.83x faster than MySQL + 1.94x faster than Sequelize + 2.09x faster than Prisma + 2.45x faster than TypeORM diff --git a/results/bun-mysql-default.txt b/results/bun-mysql-default.txt index 8bc9063..d564b22 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 438 µs/iter (325 µs … 2'089 µs) 430 µs 1'643 µs 1'958 µs -KnexJS 352 µs/iter (270 µs … 1'936 µs) 345 µs 1'594 µs 1'854 µs -Kysely 309 µs/iter (246 µs … 1'734 µs) 301 µs 1'407 µs 1'698 µs -Mariadb 244 µs/iter (180 µs … 1'952 µs) 244 µs 1'324 µs 1'708 µs -MikroORM 401 µs/iter (16'340 ns … 2'632 µs) 535 µs 2'148 µs 2'472 µs -MySQL 444 µs/iter (349 µs … 1'953 µs) 432 µs 1'657 µs 1'875 µs -MySQL2 265 µs/iter (201 µs … 1'565 µs) 259 µs 1'402 µs 1'525 µs -Prisma 512 µs/iter (418 µs … 1'956 µs) 486 µs 1'797 µs 1'915 µs -Sequelize 476 µs/iter (358 µs … 2'322 µs) 452 µs 1'895 µs 2'109 µs -TypeORM 613 µs/iter (459 µs … 2'526 µs) 594 µs 2'043 µs 2'526 µs +DrizzleORM 432 µs/iter (330 µs … 1'987 µs) 422 µs 1'632 µs 1'936 µs +KnexJS 340 µs/iter (267 µs … 1'834 µs) 337 µs 1'371 µs 1'706 µs +Kysely 299 µs/iter (240 µs … 1'721 µs) 292 µs 1'229 µs 1'541 µs +Mariadb 237 µs/iter (179 µs … 1'637 µs) 238 µs 1'274 µs 1'499 µs +MikroORM 392 µs/iter (17'161 ns … 2'388 µs) 534 µs 2'072 µs 2'369 µs +MySQL 441 µs/iter (341 µs … 1'890 µs) 429 µs 1'714 µs 1'818 µs +MySQL2 253 µs/iter (197 µs … 1'580 µs) 250 µs 1'327 µs 1'498 µs +Prisma 507 µs/iter (417 µs … 1'884 µs) 482 µs 1'716 µs 1'836 µs +Sequelize 464 µs/iter (349 µs … 2'780 µs) 451 µs 1'831 µs 2'300 µs +TypeORM 576 µs/iter (446 µs … 2'222 µs) 566 µs 1'838 µs 2'057 µs summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.27x faster than Kysely - 1.45x faster than KnexJS + 1.07x faster than MySQL2 + 1.26x faster than Kysely + 1.43x faster than KnexJS 1.65x faster than MikroORM - 1.8x faster than DrizzleORM - 1.82x faster than MySQL + 1.82x faster than DrizzleORM + 1.86x faster than MySQL 1.95x faster than Sequelize - 2.1x faster than Prisma - 2.52x faster than TypeORM + 2.14x faster than Prisma + 2.43x faster than TypeORM diff --git a/results/bun-mysql-max.txt b/results/bun-mysql-max.txt index 4e89ce1..fcf685f 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 496 µs/iter (341 µs … 2'752 µs) 490 µs 2'200 µs 2'705 µs -KnexJS 352 µs/iter (267 µs … 1'790 µs) 344 µs 1'609 µs 1'788 µs -Kysely 313 µs/iter (249 µs … 1'735 µs) 302 µs 1'564 µs 1'705 µs -Mariadb 284 µs/iter (204 µs … 2'303 µs) 268 µs 1'629 µs 1'911 µs -MikroORM 417 µs/iter (18'565 ns … 2'705 µs) 551 µs 2'335 µs 2'598 µs -MySQL 460 µs/iter (353 µs … 2'258 µs) 445 µs 1'811 µs 2'085 µs -MySQL2 264 µs/iter (203 µs … 1'918 µs) 249 µs 1'580 µs 1'763 µs -Prisma 523 µs/iter (431 µs … 2'236 µs) 494 µs 1'817 µs 2'187 µs -Sequelize 482 µs/iter (359 µs … 2'823 µs) 455 µs 2'076 µs 2'690 µs -TypeORM 610 µs/iter (459 µs … 2'677 µs) 580 µs 2'278 µs 2'677 µs +DrizzleORM 473 µs/iter (335 µs … 2'531 µs) 483 µs 1'958 µs 2'295 µs +KnexJS 350 µs/iter (270 µs … 1'788 µs) 338 µs 1'510 µs 1'781 µs +Kysely 311 µs/iter (249 µs … 1'754 µs) 301 µs 1'404 µs 1'727 µs +Mariadb 277 µs/iter (201 µs … 2'615 µs) 266 µs 1'477 µs 1'804 µs +MikroORM 404 µs/iter (17'573 ns … 2'619 µs) 536 µs 2'113 µs 2'415 µs +MySQL 445 µs/iter (347 µs … 1'966 µs) 434 µs 1'669 µs 1'903 µs +MySQL2 262 µs/iter (200 µs … 1'624 µs) 257 µs 1'386 µs 1'558 µs +Prisma 507 µs/iter (421 µs … 1'903 µs) 486 µs 1'654 µs 1'863 µs +Sequelize 486 µs/iter (360 µs … 2'466 µs) 459 µs 2'150 µs 2'420 µs +TypeORM 599 µs/iter (462 µs … 2'380 µs) 573 µs 2'153 µs 2'380 µs summary for MySQL MySQL2 - 1.07x faster than Mariadb + 1.06x faster than Mariadb 1.19x faster than Kysely - 1.33x faster than KnexJS - 1.58x faster than MikroORM - 1.74x faster than MySQL - 1.83x faster than Sequelize - 1.88x faster than DrizzleORM - 1.98x faster than Prisma - 2.31x faster than TypeORM + 1.34x faster than KnexJS + 1.55x faster than MikroORM + 1.7x faster than MySQL + 1.81x faster than DrizzleORM + 1.86x faster than Sequelize + 1.94x faster than Prisma + 2.29x faster than TypeORM diff --git a/results/bun-mysql-single.txt b/results/bun-mysql-single.txt index 98bccc1..ecc2d28 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 438 µs/iter (341 µs … 1'840 µs) 423 µs 1'626 µs 1'805 µs -KnexJS 348 µs/iter (269 µs … 1'884 µs) 338 µs 1'445 µs 1'875 µs -Kysely 310 µs/iter (251 µs … 1'746 µs) 300 µs 1'409 µs 1'722 µs -Mariadb 237 µs/iter (179 µs … 1'659 µs) 237 µs 1'284 µs 1'586 µs -MikroORM 426 µs/iter (16'700 ns … 3'267 µs) 563 µs 2'238 µs 3'051 µs -MySQL 446 µs/iter (351 µs … 1'991 µs) 434 µs 1'811 µs 1'940 µs -MySQL2 257 µs/iter (204 µs … 1'659 µs) 251 µs 1'335 µs 1'654 µs -Prisma 520 µs/iter (419 µs … 1'954 µs) 498 µs 1'713 µs 1'896 µs -Sequelize 480 µs/iter (354 µs … 2'361 µs) 469 µs 2'024 µs 2'358 µs -TypeORM 592 µs/iter (460 µs … 2'093 µs) 576 µs 1'946 µs 2'078 µs +DrizzleORM 410 µs/iter (312 µs … 1'719 µs) 406 µs 1'434 µs 1'695 µs +KnexJS 345 µs/iter (266 µs … 2'123 µs) 334 µs 1'328 µs 1'794 µs +Kysely 294 µs/iter (240 µs … 1'443 µs) 288 µs 1'246 µs 1'361 µs +Mariadb 233 µs/iter (177 µs … 1'297 µs) 235 µs 1'144 µs 1'257 µs +MikroORM 379 µs/iter (16'331 ns … 2'402 µs) 534 µs 1'855 µs 2'261 µs +MySQL 424 µs/iter (340 µs … 1'707 µs) 417 µs 1'455 µs 1'565 µs +MySQL2 256 µs/iter (195 µs … 2'300 µs) 248 µs 1'194 µs 1'595 µs +Prisma 490 µs/iter (409 µs … 1'551 µs) 473 µs 1'392 µs 1'544 µs +Sequelize 456 µs/iter (349 µs … 2'016 µs) 441 µs 1'692 µs 2'015 µs +TypeORM 569 µs/iter (445 µs … 2'970 µs) 556 µs 1'707 µs 2'387 µs summary for MySQL Mariadb - 1.09x faster than MySQL2 - 1.31x faster than Kysely - 1.47x faster than KnexJS - 1.8x faster than MikroORM - 1.85x faster than DrizzleORM - 1.89x faster than MySQL - 2.03x faster than Sequelize - 2.2x faster than Prisma - 2.5x faster than TypeORM + 1.1x faster than MySQL2 + 1.26x faster than Kysely + 1.48x faster than KnexJS + 1.63x faster than MikroORM + 1.76x faster than DrizzleORM + 1.82x faster than MySQL + 1.96x faster than Sequelize + 2.1x faster than Prisma + 2.44x faster than TypeORM diff --git a/results/bun-postgres-cpu-count.txt b/results/bun-postgres-cpu-count.txt index 3433933..3d48640 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 414 µs/iter (312 µs … 1'932 µs) 401 µs 1'616 µs 1'774 µs -KnexJS 367 µs/iter (276 µs … 2'159 µs) 355 µs 1'587 µs 2'006 µs -Kysely 332 µs/iter (266 µs … 1'688 µs) 317 µs 1'528 µs 1'671 µs -MikroORM 367 µs/iter (16'961 ns … 2'612 µs) 514 µs 2'103 µs 2'552 µs -Pg 300 µs/iter (230 µs … 1'915 µs) 290 µs 1'517 µs 1'864 µs -PgTyped 313 µs/iter (245 µs … 1'760 µs) 301 µs 1'524 µs 1'739 µs -Postgres.js 200 µs/iter (145 µs … 1'644 µs) 197 µs 1'330 µs 1'577 µs -Prisma 503 µs/iter (398 µs … 1'856 µs) 481 µs 1'693 µs 1'843 µs -Sequelize 425 µs/iter (322 µs … 2'339 µs) 406 µs 1'913 µs 2'254 µs -TypeORM 480 µs/iter (359 µs … 2'262 µs) 458 µs 2'052 µs 2'240 µs +DrizzleORM 418 µs/iter (316 µs … 2'454 µs) 414 µs 1'596 µs 2'251 µs +KnexJS 373 µs/iter (273 µs … 2'205 µs) 364 µs 1'630 µs 2'076 µs +Kysely 317 µs/iter (258 µs … 1'866 µs) 307 µs 1'360 µs 1'524 µs +MikroORM 378 µs/iter (16'692 ns … 3'087 µs) 518 µs 2'063 µs 2'766 µs +Pg 278 µs/iter (222 µs … 1'532 µs) 268 µs 1'335 µs 1'478 µs +PgTyped 302 µs/iter (235 µs … 1'592 µs) 292 µs 1'460 µs 1'564 µs +Postgres.js 192 µs/iter (144 µs … 1'484 µs) 190 µs 1'256 µs 1'425 µs +Prisma 478 µs/iter (408 µs … 1'733 µs) 462 µs 1'424 µs 1'577 µs +Sequelize 405 µs/iter (311 µs … 2'064 µs) 392 µs 1'630 µs 2'017 µs +TypeORM 449 µs/iter (336 µs … 2'042 µs) 439 µs 1'699 µs 2'010 µs summary for PostgreSQL Postgres.js - 1.5x faster than Pg - 1.57x faster than PgTyped + 1.45x faster than Pg + 1.58x faster than PgTyped 1.66x faster than Kysely - 1.84x faster than KnexJS - 1.84x faster than MikroORM - 2.07x faster than DrizzleORM - 2.13x faster than Sequelize - 2.41x faster than TypeORM - 2.52x faster than Prisma + 1.95x faster than KnexJS + 1.97x faster than MikroORM + 2.11x faster than Sequelize + 2.18x faster than DrizzleORM + 2.35x faster than TypeORM + 2.5x faster than Prisma diff --git a/results/bun-postgres-default.txt b/results/bun-postgres-default.txt index 7aa413d..fa1e04a 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 417 µs/iter (322 µs … 2'453 µs) 401 µs 1'666 µs 1'934 µs -KnexJS 365 µs/iter (288 µs … 1'911 µs) 355 µs 1'565 µs 1'852 µs -Kysely 331 µs/iter (270 µs … 1'641 µs) 318 µs 1'459 µs 1'633 µs -MikroORM 383 µs/iter (16'210 ns … 2'497 µs) 523 µs 2'068 µs 2'404 µs -Pg 285 µs/iter (236 µs … 1'654 µs) 271 µs 1'335 µs 1'624 µs -PgTyped 315 µs/iter (252 µs … 2'092 µs) 304 µs 1'474 µs 1'959 µs -Postgres.js 199 µs/iter (146 µs … 2'030 µs) 197 µs 1'291 µs 1'618 µs -Prisma 496 µs/iter (412 µs … 1'786 µs) 474 µs 1'582 µs 1'757 µs -Sequelize 424 µs/iter (312 µs … 2'323 µs) 407 µs 1'788 µs 2'238 µs -TypeORM 486 µs/iter (349 µs … 2'722 µs) 476 µs 2'114 µs 2'567 µs +DrizzleORM 394 µs/iter (302 µs … 2'414 µs) 384 µs 1'380 µs 1'954 µs +KnexJS 340 µs/iter (269 µs … 1'857 µs) 336 µs 1'308 µs 1'706 µs +Kysely 313 µs/iter (257 µs … 1'410 µs) 306 µs 1'261 µs 1'367 µs +MikroORM 341 µs/iter (15'589 ns … 2'342 µs) 496 µs 1'877 µs 2'316 µs +Pg 272 µs/iter (221 µs … 1'316 µs) 263 µs 1'201 µs 1'290 µs +PgTyped 295 µs/iter (236 µs … 1'713 µs) 288 µs 1'291 µs 1'427 µs +Postgres.js 184 µs/iter (139 µs … 1'473 µs) 184 µs 1'103 µs 1'279 µs +Prisma 494 µs/iter (417 µs … 1'621 µs) 482 µs 1'416 µs 1'510 µs +Sequelize 414 µs/iter (313 µs … 2'545 µs) 402 µs 1'701 µs 2'402 µs +TypeORM 449 µs/iter (344 µs … 2'175 µs) 441 µs 1'722 µs 1'969 µs summary for PostgreSQL Postgres.js - 1.43x faster than Pg - 1.58x faster than PgTyped - 1.67x faster than Kysely - 1.84x faster than KnexJS - 1.93x faster than MikroORM - 2.1x faster than DrizzleORM - 2.13x faster than Sequelize + 1.48x faster than Pg + 1.61x faster than PgTyped + 1.7x faster than Kysely + 1.85x faster than KnexJS + 1.86x faster than MikroORM + 2.15x faster than DrizzleORM + 2.26x faster than Sequelize 2.44x faster than TypeORM - 2.49x faster than Prisma + 2.69x faster than Prisma diff --git a/results/bun-postgres-max.txt b/results/bun-postgres-max.txt index 827f5db..bdd4aae 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 406 µs/iter (313 µs … 2'048 µs) 398 µs 1'598 µs 1'817 µs -KnexJS 360 µs/iter (280 µs … 1'820 µs) 351 µs 1'554 µs 1'816 µs -Kysely 329 µs/iter (266 µs … 1'788 µs) 314 µs 1'554 µs 1'696 µs -MikroORM 378 µs/iter (16'460 ns … 2'658 µs) 518 µs 2'098 µs 2'435 µs -Pg 288 µs/iter (231 µs … 1'804 µs) 275 µs 1'406 µs 1'697 µs -PgTyped 320 µs/iter (246 µs … 2'733 µs) 306 µs 1'505 µs 1'906 µs -Postgres.js 195 µs/iter (146 µs … 1'609 µs) 196 µs 1'212 µs 1'497 µs -Prisma 501 µs/iter (407 µs … 1'937 µs) 481 µs 1'701 µs 1'904 µs -Sequelize 420 µs/iter (319 µs … 2'129 µs) 400 µs 1'806 µs 2'070 µs -TypeORM 474 µs/iter (352 µs … 2'357 µs) 455 µs 2'012 µs 2'287 µs +DrizzleORM 415 µs/iter (307 µs … 2'915 µs) 415 µs 1'469 µs 2'342 µs +KnexJS 343 µs/iter (271 µs … 1'641 µs) 342 µs 1'285 µs 1'608 µs +Kysely 313 µs/iter (258 µs … 1'433 µs) 304 µs 1'264 µs 1'378 µs +MikroORM 352 µs/iter (15'168 ns … 2'194 µs) 499 µs 1'826 µs 2'141 µs +Pg 277 µs/iter (222 µs … 1'548 µs) 262 µs 1'237 µs 1'427 µs +PgTyped 298 µs/iter (237 µs … 1'607 µs) 288 µs 1'308 µs 1'557 µs +Postgres.js 194 µs/iter (146 µs … 1'572 µs) 194 µs 1'187 µs 1'516 µs +Prisma 498 µs/iter (415 µs … 2'001 µs) 473 µs 1'688 µs 1'871 µs +Sequelize 410 µs/iter (314 µs … 2'073 µs) 396 µs 1'779 µs 1'919 µs +TypeORM 463 µs/iter (340 µs … 2'298 µs) 444 µs 2'023 µs 2'237 µs summary for PostgreSQL Postgres.js - 1.48x faster than Pg - 1.64x faster than PgTyped - 1.68x faster than Kysely - 1.84x faster than KnexJS - 1.93x faster than MikroORM - 2.08x faster than DrizzleORM - 2.15x faster than Sequelize - 2.42x faster than TypeORM + 1.42x faster than Pg + 1.54x faster than PgTyped + 1.61x faster than Kysely + 1.77x faster than KnexJS + 1.81x faster than MikroORM + 2.11x faster than Sequelize + 2.14x faster than DrizzleORM + 2.38x faster than TypeORM 2.56x faster than Prisma diff --git a/results/bun-postgres-single.txt b/results/bun-postgres-single.txt index 522c074..d2f4ba0 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.1.2 (x64-linux) +runtime: bun 1.1.3 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 411 µs/iter (318 µs … 2'009 µs) 399 µs 1'667 µs 1'910 µs -KnexJS 376 µs/iter (284 µs … 2'446 µs) 367 µs 1'707 µs 2'246 µs -Kysely 335 µs/iter (269 µs … 1'826 µs) 323 µs 1'577 µs 1'796 µs -MikroORM 379 µs/iter (17'122 ns … 2'601 µs) 516 µs 2'144 µs 2'565 µs -Pg 296 µs/iter (231 µs … 1'845 µs) 282 µs 1'430 µs 1'775 µs -PgTyped 305 µs/iter (250 µs … 1'661 µs) 293 µs 1'449 µs 1'616 µs -Postgres.js 194 µs/iter (146 µs … 1'513 µs) 191 µs 1'230 µs 1'474 µs -Prisma 503 µs/iter (415 µs … 2'041 µs) 476 µs 1'758 µs 1'847 µs -Sequelize 427 µs/iter (323 µs … 2'184 µs) 408 µs 1'848 µs 2'140 µs -TypeORM 470 µs/iter (350 µs … 2'390 µs) 456 µs 1'932 µs 2'246 µs +DrizzleORM 401 µs/iter (319 µs … 1'725 µs) 392 µs 1'427 µs 1'655 µs +KnexJS 346 µs/iter (271 µs … 1'688 µs) 339 µs 1'435 µs 1'616 µs +Kysely 316 µs/iter (255 µs … 1'663 µs) 307 µs 1'317 µs 1'615 µs +MikroORM 371 µs/iter (15'840 ns … 3'359 µs) 522 µs 2'049 µs 2'636 µs +Pg 278 µs/iter (221 µs … 1'489 µs) 269 µs 1'320 µs 1'461 µs +PgTyped 305 µs/iter (244 µs … 1'648 µs) 293 µs 1'423 µs 1'607 µs +Postgres.js 192 µs/iter (140 µs … 1'795 µs) 192 µs 1'127 µs 1'607 µs +Prisma 478 µs/iter (403 µs … 1'629 µs) 461 µs 1'448 µs 1'571 µs +Sequelize 401 µs/iter (303 µs … 1'858 µs) 392 µs 1'571 µs 1'728 µs +TypeORM 453 µs/iter (338 µs … 2'023 µs) 441 µs 1'732 µs 1'961 µs summary for PostgreSQL Postgres.js - 1.52x faster than Pg - 1.57x faster than PgTyped - 1.72x faster than Kysely - 1.93x faster than KnexJS - 1.95x faster than MikroORM - 2.12x faster than DrizzleORM - 2.19x faster than Sequelize - 2.42x faster than TypeORM - 2.59x faster than Prisma + 1.45x faster than Pg + 1.58x faster than PgTyped + 1.65x faster than Kysely + 1.8x faster than KnexJS + 1.93x faster than MikroORM + 2.09x faster than DrizzleORM + 2.09x faster than Sequelize + 2.36x faster than TypeORM + 2.49x faster than Prisma diff --git a/results/node-mysql-cpu-count.txt b/results/node-mysql-cpu-count.txt index c8b5023..a3ed750 100644 --- a/results/node-mysql-cpu-count.txt +++ b/results/node-mysql-cpu-count.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 478 µs/iter (398 µs … 1'146 µs) 500 µs 713 µs 1'102 µs -KnexJS 387 µs/iter (317 µs … 968 µs) 411 µs 510 µs 907 µs -Kysely 306 µs/iter (262 µs … 756 µs) 315 µs 400 µs 613 µs -Mariadb 255 µs/iter (201 µs … 559 µs) 269 µs 342 µs 377 µs -MikroORM 478 µs/iter (34'404 ns … 1'529 µs) 642 µs 914 µs 1'288 µs -MySQL 477 µs/iter (416 µs … 1'216 µs) 498 µs 595 µs 1'088 µs -MySQL2 290 µs/iter (245 µs … 798 µs) 304 µs 398 µs 773 µs -Prisma 527 µs/iter (471 µs … 693 µs) 541 µs 638 µs 688 µs -Sequelize 498 µs/iter (413 µs … 1'101 µs) 533 µs 725 µs 911 µs -TypeORM 609 µs/iter (529 µs … 3'621 µs) 630 µs 834 µs 3'621 µs +DrizzleORM 473 µs/iter (390 µs … 1'271 µs) 503 µs 690 µs 933 µs +KnexJS 386 µs/iter (313 µs … 927 µs) 404 µs 517 µs 838 µs +Kysely 305 µs/iter (256 µs … 936 µs) 321 µs 392 µs 882 µs +Mariadb 243 µs/iter (193 µs … 544 µs) 263 µs 332 µs 362 µs +MikroORM 459 µs/iter (31'980 ns … 1'396 µs) 636 µs 889 µs 1'230 µs +MySQL 459 µs/iter (400 µs … 1'209 µs) 480 µs 581 µs 640 µs +MySQL2 278 µs/iter (226 µs … 891 µs) 295 µs 353 µs 564 µs +Prisma 508 µs/iter (460 µs … 692 µs) 518 µs 632 µs 690 µs +Sequelize 493 µs/iter (410 µs … 1'946 µs) 504 µs 810 µs 1'371 µs +TypeORM 586 µs/iter (493 µs … 1'653 µs) 604 µs 761 µs 1'373 µs summary for MySQL Mariadb 1.14x faster than MySQL2 - 1.2x faster than Kysely - 1.52x faster than KnexJS - 1.87x faster than MySQL - 1.87x faster than MikroORM - 1.87x faster than DrizzleORM - 1.95x faster than Sequelize - 2.07x faster than Prisma - 2.39x faster than TypeORM + 1.25x faster than Kysely + 1.59x faster than KnexJS + 1.89x faster than MikroORM + 1.89x faster than MySQL + 1.94x faster than DrizzleORM + 2.02x faster than Sequelize + 2.09x faster than Prisma + 2.41x faster than TypeORM diff --git a/results/node-mysql-default.txt b/results/node-mysql-default.txt index e399500..4f41a94 100644 --- a/results/node-mysql-default.txt +++ b/results/node-mysql-default.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 486 µs/iter (395 µs … 1'292 µs) 504 µs 714 µs 968 µs -KnexJS 391 µs/iter (307 µs … 1'933 µs) 410 µs 561 µs 1'048 µs -Kysely 309 µs/iter (264 µs … 1'031 µs) 324 µs 400 µs 817 µs -Mariadb 247 µs/iter (200 µs … 613 µs) 261 µs 334 µs 389 µs -MikroORM 476 µs/iter (34'554 ns … 1'747 µs) 641 µs 1'046 µs 1'736 µs -MySQL 476 µs/iter (407 µs … 1'307 µs) 507 µs 590 µs 664 µs -MySQL2 283 µs/iter (236 µs … 888 µs) 297 µs 367 µs 460 µs -Prisma 523 µs/iter (466 µs … 773 µs) 532 µs 642 µs 716 µs -Sequelize 493 µs/iter (407 µs … 961 µs) 527 µs 709 µs 888 µs -TypeORM 601 µs/iter (517 µs … 1'058 µs) 624 µs 815 µs 1'058 µs +DrizzleORM 477 µs/iter (388 µs … 1'118 µs) 506 µs 692 µs 1'055 µs +KnexJS 390 µs/iter (306 µs … 2'029 µs) 411 µs 648 µs 1'547 µs +Kysely 310 µs/iter (266 µs … 679 µs) 324 µs 396 µs 597 µs +Mariadb 273 µs/iter (211 µs … 3'927 µs) 282 µs 419 µs 2'421 µs +MikroORM 537 µs/iter (36'268 ns … 2'534 µs) 731 µs 1'256 µs 1'978 µs +MySQL 502 µs/iter (426 µs … 1'342 µs) 519 µs 615 µs 990 µs +MySQL2 314 µs/iter (249 µs … 1'352 µs) 324 µs 438 µs 1'231 µs +Prisma 539 µs/iter (462 µs … 1'498 µs) 556 µs 657 µs 948 µs +Sequelize 498 µs/iter (409 µs … 2'907 µs) 539 µs 710 µs 1'482 µs +TypeORM 606 µs/iter (517 µs … 3'241 µs) 613 µs 978 µs 3'241 µs summary for MySQL Mariadb + 1.14x faster than Kysely 1.15x faster than MySQL2 - 1.25x faster than Kysely - 1.58x faster than KnexJS - 1.92x faster than MikroORM - 1.92x faster than MySQL - 1.96x faster than DrizzleORM - 1.99x faster than Sequelize - 2.11x faster than Prisma - 2.43x faster than TypeORM + 1.43x faster than KnexJS + 1.74x faster than DrizzleORM + 1.82x faster than Sequelize + 1.84x faster than MySQL + 1.97x faster than MikroORM + 1.97x faster than Prisma + 2.22x faster than TypeORM diff --git a/results/node-mysql-max.txt b/results/node-mysql-max.txt index 38b1fa9..209b6b2 100644 --- a/results/node-mysql-max.txt +++ b/results/node-mysql-max.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 530 µs/iter (399 µs … 2'135 µs) 554 µs 1'089 µs 1'682 µs -KnexJS 386 µs/iter (303 µs … 1'003 µs) 410 µs 519 µs 915 µs -Kysely 308 µs/iter (268 µs … 1'282 µs) 326 µs 392 µs 897 µs -Mariadb 276 µs/iter (219 µs … 1'045 µs) 286 µs 380 µs 839 µs -MikroORM 474 µs/iter (33'482 ns … 1'381 µs) 648 µs 880 µs 1'329 µs -MySQL 475 µs/iter (419 µs … 1'496 µs) 490 µs 604 µs 1'426 µs -MySQL2 295 µs/iter (247 µs … 964 µs) 311 µs 407 µs 757 µs -Prisma 524 µs/iter (460 µs … 712 µs) 535 µs 625 µs 704 µs -Sequelize 492 µs/iter (414 µs … 841 µs) 515 µs 708 µs 828 µs -TypeORM 605 µs/iter (524 µs … 1'146 µs) 628 µs 802 µs 1'146 µs +DrizzleORM 523 µs/iter (390 µs … 3'659 µs) 565 µs 1'244 µs 2'365 µs +KnexJS 378 µs/iter (295 µs … 932 µs) 407 µs 510 µs 659 µs +Kysely 304 µs/iter (267 µs … 586 µs) 312 µs 396 µs 570 µs +Mariadb 254 µs/iter (195 µs … 812 µs) 271 µs 346 µs 767 µs +MikroORM 473 µs/iter (31'619 ns … 2'563 µs) 644 µs 858 µs 2'091 µs +MySQL 467 µs/iter (393 µs … 2'140 µs) 495 µs 658 µs 1'366 µs +MySQL2 281 µs/iter (231 µs … 781 µs) 298 µs 352 µs 536 µs +Prisma 509 µs/iter (451 µs … 1'184 µs) 519 µs 669 µs 1'102 µs +Sequelize 495 µs/iter (402 µs … 1'972 µs) 525 µs 743 µs 1'232 µs +TypeORM 595 µs/iter (517 µs … 3'073 µs) 608 µs 796 µs 3'073 µs summary for MySQL Mariadb - 1.07x faster than MySQL2 - 1.12x faster than Kysely - 1.4x faster than KnexJS - 1.72x faster than MikroORM - 1.72x faster than MySQL - 1.78x faster than Sequelize - 1.9x faster than Prisma - 1.92x faster than DrizzleORM - 2.19x faster than TypeORM + 1.11x faster than MySQL2 + 1.2x faster than Kysely + 1.49x faster than KnexJS + 1.84x faster than MySQL + 1.86x faster than MikroORM + 1.95x faster than Sequelize + 2.01x faster than Prisma + 2.06x faster than DrizzleORM + 2.35x faster than TypeORM diff --git a/results/node-mysql-single.txt b/results/node-mysql-single.txt index 984ed51..5605041 100644 --- a/results/node-mysql-single.txt +++ b/results/node-mysql-single.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 -------------------------------------------------- ----------------------------- • MySQL -------------------------------------------------- ----------------------------- -DrizzleORM 480 µs/iter (391 µs … 1'099 µs) 507 µs 740 µs 1'073 µs -KnexJS 393 µs/iter (318 µs … 846 µs) 413 µs 528 µs 845 µs -Kysely 318 µs/iter (265 µs … 768 µs) 334 µs 415 µs 749 µs -Mariadb 254 µs/iter (200 µs … 716 µs) 268 µs 361 µs 469 µs -MikroORM 463 µs/iter (35'526 ns … 1'404 µs) 648 µs 880 µs 1'351 µs -MySQL 485 µs/iter (420 µs … 1'118 µs) 509 µs 606 µs 696 µs -MySQL2 286 µs/iter (243 µs … 870 µs) 298 µs 370 µs 441 µs -Prisma 517 µs/iter (462 µs … 724 µs) 528 µs 638 µs 719 µs -Sequelize 511 µs/iter (405 µs … 1'302 µs) 557 µs 741 µs 1'264 µs -TypeORM 608 µs/iter (525 µs … 1'182 µs) 638 µs 829 µs 1'182 µs +DrizzleORM 472 µs/iter (389 µs … 1'175 µs) 494 µs 701 µs 1'033 µs +KnexJS 384 µs/iter (309 µs … 853 µs) 403 µs 507 µs 849 µs +Kysely 309 µs/iter (266 µs … 686 µs) 326 µs 391 µs 552 µs +Mariadb 247 µs/iter (192 µs … 401 µs) 262 µs 327 µs 375 µs +MikroORM 470 µs/iter (33'833 ns … 1'171 µs) 644 µs 868 µs 1'137 µs +MySQL 470 µs/iter (415 µs … 670 µs) 505 µs 596 µs 636 µs +MySQL2 281 µs/iter (236 µs … 786 µs) 300 µs 360 µs 488 µs +Prisma 506 µs/iter (458 µs … 677 µs) 516 µs 638 µs 677 µs +Sequelize 485 µs/iter (408 µs … 1'035 µs) 507 µs 709 µs 988 µs +TypeORM 591 µs/iter (515 µs … 3'308 µs) 619 µs 782 µs 1'038 µs summary for MySQL Mariadb - 1.13x faster than MySQL2 + 1.14x faster than MySQL2 1.25x faster than Kysely 1.55x faster than KnexJS - 1.82x faster than MikroORM - 1.89x faster than DrizzleORM - 1.91x faster than MySQL - 2.01x faster than Sequelize - 2.03x faster than Prisma - 2.39x faster than TypeORM + 1.9x faster than MySQL + 1.91x faster than MikroORM + 1.91x faster than DrizzleORM + 1.97x faster than Sequelize + 2.05x faster than Prisma + 2.4x faster than TypeORM diff --git a/results/node-postgres-cpu-count.txt b/results/node-postgres-cpu-count.txt index bda2d75..0e7cbb6 100644 --- a/results/node-postgres-cpu-count.txt +++ b/results/node-postgres-cpu-count.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 413 µs/iter (328 µs … 948 µs) 442 µs 703 µs 866 µs -KnexJS 376 µs/iter (298 µs … 2'061 µs) 392 µs 629 µs 1'708 µs -Kysely 314 µs/iter (263 µs … 2'302 µs) 324 µs 426 µs 2'091 µs -MikroORM 449 µs/iter (35'656 ns … 3'104 µs) 615 µs 842 µs 2'414 µs -Pg 260 µs/iter (230 µs … 409 µs) 265 µs 335 µs 389 µs -PgTyped 278 µs/iter (247 µs … 873 µs) 285 µs 350 µs 395 µs -Postgres.js 218 µs/iter (172 µs … 377 µs) 232 µs 305 µs 362 µs -Prisma 513 µs/iter (468 µs … 722 µs) 526 µs 635 µs 718 µs -Sequelize 420 µs/iter (348 µs … 991 µs) 450 µs 607 µs 736 µs -TypeORM 441 µs/iter (365 µs … 1'446 µs) 456 µs 706 µs 1'338 µs +DrizzleORM 404 µs/iter (309 µs … 876 µs) 435 µs 656 µs 776 µs +KnexJS 365 µs/iter (287 µs … 1'047 µs) 388 µs 571 µs 1'017 µs +Kysely 304 µs/iter (262 µs … 1'657 µs) 311 µs 428 µs 1'253 µs +MikroORM 447 µs/iter (33'913 ns … 1'872 µs) 622 µs 854 µs 1'714 µs +Pg 253 µs/iter (217 µs … 675 µs) 256 µs 358 µs 475 µs +PgTyped 272 µs/iter (239 µs … 907 µs) 280 µs 360 µs 423 µs +Postgres.js 215 µs/iter (163 µs … 1'604 µs) 225 µs 301 µs 349 µs +Prisma 502 µs/iter (459 µs … 1'892 µs) 510 µs 593 µs 1'024 µs +Sequelize 409 µs/iter (331 µs … 1'027 µs) 438 µs 600 µs 738 µs +TypeORM 430 µs/iter (357 µs … 1'817 µs) 446 µs 674 µs 1'704 µs summary for PostgreSQL Postgres.js - 1.2x faster than Pg - 1.28x faster than PgTyped - 1.44x faster than Kysely - 1.73x faster than KnexJS - 1.9x faster than DrizzleORM - 1.93x faster than Sequelize - 2.02x faster than TypeORM - 2.06x faster than MikroORM - 2.36x faster than Prisma + 1.18x faster than Pg + 1.27x faster than PgTyped + 1.42x faster than Kysely + 1.7x faster than KnexJS + 1.88x faster than DrizzleORM + 1.91x faster than Sequelize + 2x faster than TypeORM + 2.08x faster than MikroORM + 2.34x faster than Prisma diff --git a/results/node-postgres-default.txt b/results/node-postgres-default.txt index 01f7b8d..5f99593 100644 --- a/results/node-postgres-default.txt +++ b/results/node-postgres-default.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 418 µs/iter (327 µs … 873 µs) 449 µs 666 µs 806 µs -KnexJS 369 µs/iter (295 µs … 858 µs) 386 µs 526 µs 760 µs -Kysely 315 µs/iter (266 µs … 2'060 µs) 321 µs 428 µs 1'789 µs -MikroORM 464 µs/iter (33'743 ns … 1'590 µs) 639 µs 848 µs 1'542 µs -Pg 263 µs/iter (225 µs … 802 µs) 270 µs 346 µs 396 µs -PgTyped 279 µs/iter (245 µs … 961 µs) 287 µs 363 µs 413 µs -Postgres.js 223 µs/iter (175 µs … 430 µs) 241 µs 297 µs 409 µs -Prisma 511 µs/iter (463 µs … 2'298 µs) 520 µs 654 µs 755 µs -Sequelize 428 µs/iter (348 µs … 1'315 µs) 460 µs 640 µs 1'066 µs -TypeORM 433 µs/iter (364 µs … 1'210 µs) 448 µs 653 µs 1'192 µs +DrizzleORM 403 µs/iter (316 µs … 1'036 µs) 435 µs 658 µs 827 µs +KnexJS 362 µs/iter (291 µs … 1'085 µs) 379 µs 530 µs 895 µs +Kysely 304 µs/iter (257 µs … 2'005 µs) 311 µs 422 µs 1'501 µs +MikroORM 448 µs/iter (33'242 ns … 1'517 µs) 619 µs 845 µs 1'212 µs +Pg 254 µs/iter (219 µs … 653 µs) 259 µs 321 µs 380 µs +PgTyped 270 µs/iter (229 µs … 793 µs) 277 µs 348 µs 395 µs +Postgres.js 213 µs/iter (167 µs … 1'636 µs) 231 µs 293 µs 445 µs +Prisma 510 µs/iter (460 µs … 1'189 µs) 524 µs 610 µs 730 µs +Sequelize 407 µs/iter (321 µs … 1'215 µs) 436 µs 610 µs 949 µs +TypeORM 428 µs/iter (353 µs … 3'225 µs) 441 µs 764 µs 2'286 µs summary for PostgreSQL Postgres.js - 1.18x faster than Pg - 1.25x faster than PgTyped - 1.41x faster than Kysely - 1.65x faster than KnexJS - 1.88x faster than DrizzleORM - 1.92x faster than Sequelize - 1.94x faster than TypeORM - 2.08x faster than MikroORM - 2.29x faster than Prisma + 1.19x faster than Pg + 1.26x faster than PgTyped + 1.42x faster than Kysely + 1.7x faster than KnexJS + 1.89x faster than DrizzleORM + 1.9x faster than Sequelize + 2.01x faster than TypeORM + 2.1x faster than MikroORM + 2.39x faster than Prisma diff --git a/results/node-postgres-max.txt b/results/node-postgres-max.txt index a6a53ca..8575bf4 100644 --- a/results/node-postgres-max.txt +++ b/results/node-postgres-max.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 417 µs/iter (327 µs … 1'479 µs) 447 µs 674 µs 790 µs -KnexJS 380 µs/iter (294 µs … 1'133 µs) 395 µs 562 µs 988 µs -Kysely 314 µs/iter (264 µs … 1'722 µs) 321 µs 430 µs 1'311 µs -MikroORM 457 µs/iter (36'838 ns … 2'101 µs) 638 µs 862 µs 1'576 µs -Pg 260 µs/iter (230 µs … 745 µs) 265 µs 339 µs 407 µs -PgTyped 278 µs/iter (238 µs … 1'006 µs) 283 µs 363 µs 400 µs -Postgres.js 213 µs/iter (169 µs … 1'682 µs) 224 µs 296 µs 380 µs -Prisma 516 µs/iter (457 µs … 727 µs) 525 µs 638 µs 727 µs -Sequelize 420 µs/iter (346 µs … 894 µs) 449 µs 615 µs 732 µs -TypeORM 446 µs/iter (368 µs … 2'306 µs) 464 µs 706 µs 1'461 µs +DrizzleORM 409 µs/iter (317 µs … 1'608 µs) 434 µs 659 µs 1'353 µs +KnexJS 361 µs/iter (291 µs … 1'169 µs) 380 µs 535 µs 818 µs +Kysely 302 µs/iter (251 µs … 1'940 µs) 312 µs 435 µs 1'686 µs +MikroORM 426 µs/iter (32'621 ns … 1'378 µs) 601 µs 815 µs 1'341 µs +Pg 253 µs/iter (221 µs … 351 µs) 260 µs 308 µs 347 µs +PgTyped 272 µs/iter (237 µs … 762 µs) 281 µs 360 µs 442 µs +Postgres.js 214 µs/iter (164 µs … 367 µs) 233 µs 291 µs 338 µs +Prisma 502 µs/iter (451 µs … 2'066 µs) 508 µs 596 µs 1'208 µs +Sequelize 409 µs/iter (327 µs … 1'087 µs) 437 µs 603 µs 1'037 µs +TypeORM 423 µs/iter (356 µs … 1'285 µs) 448 µs 635 µs 1'264 µs summary for PostgreSQL Postgres.js - 1.22x faster than Pg - 1.31x faster than PgTyped - 1.48x faster than Kysely - 1.79x faster than KnexJS - 1.96x faster than DrizzleORM - 1.98x faster than Sequelize - 2.1x faster than TypeORM - 2.15x faster than MikroORM - 2.43x faster than Prisma + 1.18x faster than Pg + 1.28x faster than PgTyped + 1.41x faster than Kysely + 1.69x faster than KnexJS + 1.92x faster than Sequelize + 1.92x faster than DrizzleORM + 1.98x faster than TypeORM + 1.99x faster than MikroORM + 2.35x faster than Prisma diff --git a/results/node-postgres-single.txt b/results/node-postgres-single.txt index 2e49b53..d472bba 100644 --- a/results/node-postgres-single.txt +++ b/results/node-postgres-single.txt @@ -1,29 +1,29 @@ cpu: AMD EPYC 7763 64-Core Processor -runtime: node v20.12.0 (x64-linux) +runtime: node v20.12.1 (x64-linux) benchmark time (avg) (min … max) p75 p99 p999 --------------------------------------------------- ----------------------------- • PostgreSQL --------------------------------------------------- ----------------------------- -DrizzleORM 411 µs/iter (322 µs … 1'255 µs) 436 µs 712 µs 1'163 µs -KnexJS 379 µs/iter (292 µs … 889 µs) 403 µs 611 µs 847 µs -Kysely 311 µs/iter (263 µs … 1'806 µs) 323 µs 432 µs 997 µs -MikroORM 472 µs/iter (35'646 ns … 1'907 µs) 644 µs 901 µs 1'744 µs -Pg 261 µs/iter (227 µs … 391 µs) 267 µs 329 µs 374 µs -PgTyped 280 µs/iter (244 µs … 1'022 µs) 287 µs 364 µs 525 µs -Postgres.js 219 µs/iter (166 µs … 1'090 µs) 237 µs 305 µs 361 µs -Prisma 516 µs/iter (463 µs … 808 µs) 532 µs 624 µs 725 µs -Sequelize 420 µs/iter (336 µs … 1'325 µs) 446 µs 605 µs 1'196 µs -TypeORM 442 µs/iter (367 µs … 3'898 µs) 455 µs 677 µs 2'495 µs +DrizzleORM 399 µs/iter (304 µs … 885 µs) 431 µs 634 µs 811 µs +KnexJS 358 µs/iter (282 µs … 694 µs) 373 µs 530 µs 642 µs +Kysely 301 µs/iter (255 µs … 1'547 µs) 311 µs 421 µs 1'367 µs +MikroORM 476 µs/iter (36'027 ns … 2'407 µs) 652 µs 866 µs 1'562 µs +Pg 251 µs/iter (221 µs … 734 µs) 253 µs 321 µs 370 µs +PgTyped 271 µs/iter (236 µs … 801 µs) 277 µs 351 µs 508 µs +Postgres.js 217 µs/iter (164 µs … 1'670 µs) 231 µs 306 µs 974 µs +Prisma 505 µs/iter (446 µs … 1'016 µs) 514 µs 622 µs 706 µs +Sequelize 407 µs/iter (326 µs … 831 µs) 441 µs 588 µs 820 µs +TypeORM 423 µs/iter (355 µs … 3'326 µs) 438 µs 647 µs 2'739 µs summary for PostgreSQL Postgres.js - 1.19x faster than Pg - 1.28x faster than PgTyped - 1.43x faster than Kysely - 1.73x faster than KnexJS - 1.88x faster than DrizzleORM - 1.92x faster than Sequelize - 2.02x faster than TypeORM - 2.16x faster than MikroORM - 2.36x faster than Prisma + 1.16x faster than Pg + 1.25x faster than PgTyped + 1.39x faster than Kysely + 1.65x faster than KnexJS + 1.84x faster than DrizzleORM + 1.88x faster than Sequelize + 1.95x faster than TypeORM + 2.19x faster than MikroORM + 2.32x faster than Prisma