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 Apr 8, 2024
1 parent 40d5885 commit 50f223c
Show file tree
Hide file tree
Showing 16 changed files with 300 additions and 300 deletions.
38 changes: 19 additions & 19 deletions results/bun-mysql-cpu-count.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
-------------------------------------------------- -----------------------------
• MySQL
-------------------------------------------------- -----------------------------
DrizzleORM 445 µs/iter (325 µs … 2'198 µs) 432 µs 1'792 µs 2'035 µs
KnexJS 349 µs/iter (268 µs … 2'105 µs) 342 µs 1'607 µs 1'850 µs
Kysely 312 µs/iter (244 µs … 1'933 µs) 298 µs 1'620 µs 1'704 µs
Mariadb 253 µs/iter (178 µs … 1'861 µs) 250 µs 1'586 µs 1'750 µs
MikroORM 433 µs/iter (18'294 ns … 2'933 µs) 556 µs 2'332 µs 2'898 µs
MySQL 453 µs/iter (351 µs … 2'184 µs) 440 µs 1'903 µs 2'108 µs
MySQL2 272 µs/iter (206 µs … 1'809 µs) 264 µs 1'685 µs 1'777 µs
Prisma 513 µs/iter (408 µs … 2'097 µs) 480 µs 1'899 µs 2'066 µs
Sequelize 493 µs/iter (358 µs … 2'428 µs) 469 µs 2'136 µs 2'278 µs
TypeORM 610 µs/iter (464 µs … 2'510 µs) 581 µs 2'206 µs 2'510 µs
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

summary for MySQL
Mariadb
1.08x faster than MySQL2
1.24x faster than Kysely
1.38x faster than KnexJS
1.72x faster than MikroORM
1.76x faster than DrizzleORM
1.79x faster than MySQL
1.95x faster than Sequelize
2.03x faster than Prisma
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
40 changes: 20 additions & 20 deletions results/bun-mysql-default.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
-------------------------------------------------- -----------------------------
• MySQL
-------------------------------------------------- -----------------------------
DrizzleORM 424 µs/iter (331 µs … 2'041 µs) 419 µs 1'440 µs 2'015 µs
KnexJS 336 µs/iter (261 µs … 1'715 µs) 330 µs 1'312 µs 1'673 µs
Kysely 299 µs/iter (241 µs … 1'442 µs) 293 µs 1'231 µs 1'394 µs
Mariadb 239 µs/iter (178 µs … 1'506 µs) 239 µs 1'175 µs 1'466 µs
MikroORM 387 µs/iter (17'222 ns … 3'362 µs) 528 µs 2'032 µs 2'397 µs
MySQL 426 µs/iter (339 µs … 1'819 µs) 417 µs 1'434 µs 1'748 µs
MySQL2 252 µs/iter (197 µs … 1'521 µs) 248 µs 1'202 µs 1'390 µs
Prisma 494 µs/iter (406 µs … 1'715 µs) 474 µs 1'478 µs 1'583 µs
Sequelize 464 µs/iter (348 µs … 5'674 µs) 447 µs 1'710 µs 2'403 µs
TypeORM 571 µs/iter (444 µs … 2'200 µs) 564 µs 1'810 µs 2'198 µs
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

summary for MySQL
Mariadb
1.05x faster than MySQL2
1.25x faster than Kysely
1.4x faster than KnexJS
1.62x faster than MikroORM
1.77x faster than DrizzleORM
1.78x faster than MySQL
1.94x faster than Sequelize
2.07x faster than Prisma
2.39x faster than TypeORM
1.09x faster than MySQL2
1.27x faster than Kysely
1.45x faster than KnexJS
1.65x faster than MikroORM
1.8x faster than DrizzleORM
1.82x faster than MySQL
1.95x faster than Sequelize
2.1x faster than Prisma
2.52x faster than TypeORM
34 changes: 17 additions & 17 deletions results/bun-mysql-max.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
-------------------------------------------------- -----------------------------
• MySQL
-------------------------------------------------- -----------------------------
DrizzleORM 467 µs/iter (321 µs … 3'708 µs) 478 µs 2'054 µs 2'923 µs
KnexJS 339 µs/iter (262 µs … 1'861 µs) 333 µs 1'370 µs 1'753 µs
Kysely 301 µs/iter (244 µs … 1'581 µs) 294 µs 1'223 µs 1'552 µs
Mariadb 269 µs/iter (193 µs … 2'161 µs) 262 µs 1'302 µs 1'754 µs
MikroORM 378 µs/iter (16'621 ns … 2'485 µs) 527 µs 1'981 µs 2'215 µs
MySQL 437 µs/iter (345 µs … 1'874 µs) 431 µs 1'580 µs 1'777 µs
MySQL2 255 µs/iter (202 µs … 1'521 µs) 254 µs 1'218 µs 1'407 µs
Prisma 504 µs/iter (422 µs … 1'813 µs) 482 µs 1'539 µs 1'764 µs
Sequelize 467 µs/iter (355 µs … 2'074 µs) 445 µs 1'774 µs 2'070 µs
TypeORM 616 µs/iter (467 µs … 2'694 µs) 582 µs 2'485 µs 2'694 µs
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

summary for MySQL
MySQL2
1.05x faster than Mariadb
1.18x faster than Kysely
1.07x faster than Mariadb
1.19x faster than Kysely
1.33x faster than KnexJS
1.48x faster than MikroORM
1.71x faster than MySQL
1.58x faster than MikroORM
1.74x faster than MySQL
1.83x faster than Sequelize
1.83x faster than DrizzleORM
1.88x faster than DrizzleORM
1.98x faster than Prisma
2.41x faster than TypeORM
2.31x faster than TypeORM
38 changes: 19 additions & 19 deletions results/bun-mysql-single.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
-------------------------------------------------- -----------------------------
• MySQL
-------------------------------------------------- -----------------------------
DrizzleORM 443 µs/iter (326 µs … 2'236 µs) 428 µs 1'741 µs 2'060 µs
KnexJS 351 µs/iter (270 µs … 1'938 µs) 338 µs 1'619 µs 1'901 µs
Kysely 311 µs/iter (248 µs … 1'825 µs) 297 µs 1'598 µs 1'763 µs
Mariadb 250 µs/iter (178 µs … 2'126 µs) 249 µs 1'516 µs 1'879 µs
MikroORM 396 µs/iter (17'252 ns … 2'917 µs) 533 µs 2'181 µs 2'889 µs
MySQL 447 µs/iter (350 µs … 2'008 µs) 433 µs 1'771 µs 1'953 µs
MySQL2 272 µs/iter (207 µs … 1'896 µs) 260 µs 1'666 µs 1'780 µs
Prisma 520 µs/iter (420 µs … 1'990 µs) 493 µs 1'870 µs 1'925 µs
Sequelize 479 µs/iter (361 µs … 3'007 µs) 452 µs 2'017 µs 2'617 µs
TypeORM 602 µs/iter (455 µs … 2'199 µs) 579 µs 2'154 µs 2'199 µs
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

summary for MySQL
Mariadb
1.09x faster than MySQL2
1.24x faster than Kysely
1.4x faster than KnexJS
1.58x faster than MikroORM
1.77x faster than DrizzleORM
1.78x faster than MySQL
1.91x faster than Sequelize
2.08x faster than Prisma
2.4x faster than TypeORM
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
36 changes: 18 additions & 18 deletions results/bun-postgres-cpu-count.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
--------------------------------------------------- -----------------------------
• PostgreSQL
--------------------------------------------------- -----------------------------
DrizzleORM 398 µs/iter (308 µs … 1'697 µs) 389 µs 1'393 µs 1'670 µs
KnexJS 348 µs/iter (273 µs … 1'732 µs) 342 µs 1'343 µs 1'707 µs
Kysely 322 µs/iter (263 µs … 1'533 µs) 313 µs 1'265 µs 1'529 µs
MikroORM 349 µs/iter (15'529 ns … 2'195 µs) 499 µs 1'735 µs 2'086 µs
Pg 284 µs/iter (230 µs … 1'640 µs) 272 µs 1'206 µs 1'543 µs
PgTyped 301 µs/iter (242 µs … 1'636 µs) 294 µs 1'276 µs 1'599 µs
Postgres.js 189 µs/iter (142 µs … 1'560 µs) 189 µs 1'120 µs 1'313 µs
Prisma 483 µs/iter (402 µs … 1'863 µs) 464 µs 1'476 µs 1'714 µs
Sequelize 415 µs/iter (317 µs … 2'273 µs) 395 µs 1'675 µs 2'156 µs
TypeORM 451 µs/iter (344 µs … 2'005 µs) 439 µs 1'692 µs 1'993 µs
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

summary for PostgreSQL
Postgres.js
1.5x faster than Pg
1.59x faster than PgTyped
1.71x faster than Kysely
1.57x faster than PgTyped
1.66x faster than Kysely
1.84x faster than KnexJS
1.85x faster than MikroORM
2.11x faster than DrizzleORM
2.19x faster than Sequelize
2.38x faster than TypeORM
2.56x faster than Prisma
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
34 changes: 17 additions & 17 deletions results/bun-postgres-default.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
--------------------------------------------------- -----------------------------
• PostgreSQL
--------------------------------------------------- -----------------------------
DrizzleORM 406 µs/iter (316 µs … 1'947 µs) 392 µs 1'647 µs 1'898 µs
KnexJS 368 µs/iter (284 µs … 2'443 µs) 350 µs 1'754 µs 2'358 µs
Kysely 333 µs/iter (264 µs … 1'815 µs) 319 µs 1'598 µs 1'730 µs
MikroORM 386 µs/iter (16'771 ns … 2'834 µs) 524 µs 2'205 µs 2'649 µs
Pg 290 µs/iter (226 µs … 1'830 µs) 274 µs 1'640 µs 1'792 µs
PgTyped 323 µs/iter (244 µs … 1'975 µs) 310 µs 1'668 µs 1'905 µs
Postgres.js 200 µs/iter (147 µs … 1'803 µs) 195 µs 1'514 µs 1'719 µs
Prisma 514 µs/iter (413 µs … 2'405 µs) 480 µs 1'857 µs 2'354 µs
Sequelize 431 µs/iter (322 µs … 2'606 µs) 410 µs 2'144 µs 2'375 µs
TypeORM 477 µs/iter (353 µs … 2'592 µs) 452 µs 2'107 µs 2'465 µs
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

summary for PostgreSQL
Postgres.js
1.45x faster than Pg
1.62x faster than PgTyped
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.04x faster than DrizzleORM
2.16x faster than Sequelize
2.39x faster than TypeORM
2.57x faster than Prisma
2.1x faster than DrizzleORM
2.13x faster than Sequelize
2.44x faster than TypeORM
2.49x faster than Prisma
38 changes: 19 additions & 19 deletions results/bun-postgres-max.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cpu: AMD EPYC 7763 64-Core Processor
runtime: bun 1.1.1 (x64-linux)
runtime: bun 1.1.2 (x64-linux)

benchmark time (avg) (min … max) p75 p99 p999
--------------------------------------------------- -----------------------------
• PostgreSQL
--------------------------------------------------- -----------------------------
DrizzleORM 397 µs/iter (313 µs … 1'788 µs) 389 µs 1'500 µs 1'712 µs
KnexJS 352 µs/iter (276 µs … 2'730 µs) 342 µs 1'442 µs 2'090 µs
Kysely 321 µs/iter (262 µs … 1'508 µs) 313 µs 1'247 µs 1'458 µs
MikroORM 369 µs/iter (15'529 ns … 2'415 µs) 498 µs 1'939 µs 2'393 µs
Pg 280 µs/iter (221 µs … 1'549 µs) 267 µs 1'222 µs 1'472 µs
PgTyped 303 µs/iter (241 µs … 1'745 µs) 293 µs 1'280 µs 1'674 µs
Postgres.js 188 µs/iter (145 µs … 1'439 µs) 187 µs 1'096 µs 1'374 µs
Prisma 489 µs/iter (407 µs … 1'577 µs) 472 µs 1'407 µs 1'529 µs
Sequelize 408 µs/iter (312 µs … 2'540 µs) 399 µs 1'681 µs 2'442 µs
TypeORM 455 µs/iter (342 µs … 2'244 µs) 445 µs 1'716 µs 2'077 µs
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

summary for PostgreSQL
Postgres.js
1.49x faster than Pg
1.61x faster than PgTyped
1.71x faster than Kysely
1.87x faster than KnexJS
1.96x faster than MikroORM
2.11x faster than DrizzleORM
2.17x faster than Sequelize
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
2.6x faster than Prisma
2.56x faster than Prisma
Loading

0 comments on commit 50f223c

Please sign in to comment.