Skip to content

Commit

Permalink
Commit from GitHub Actions (ORM Benchmark)
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Aug 5, 2024
1 parent 494ee72 commit 1cc4523
Show file tree
Hide file tree
Showing 18 changed files with 281 additions and 281 deletions.
Binary file modified bun.lockb
Binary file not shown.
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
34 changes: 17 additions & 17 deletions results/bun-mysql-cpu-count.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
30 changes: 15 additions & 15 deletions results/bun-mysql-default.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
34 changes: 17 additions & 17 deletions results/bun-mysql-max.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
34 changes: 17 additions & 17 deletions results/bun-mysql-single.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
38 changes: 19 additions & 19 deletions results/bun-postgres-cpu-count.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
38 changes: 19 additions & 19 deletions results/bun-postgres-default.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
36 changes: 18 additions & 18 deletions results/bun-postgres-max.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Loading

0 comments on commit 1cc4523

Please sign in to comment.