Skip to content

Commit 3f989ff

Browse files
Commit from GitHub Actions (ORM Benchmark)
1 parent f751716 commit 3f989ff

18 files changed

+485
-485
lines changed

bun.lockb

-1 Bytes
Binary file not shown.

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,21 @@
1313
},
1414
"dependencies": {
1515
"@faker-js/faker": "^10.1.0",
16-
"@mikro-orm/core": "^6.5.8",
17-
"@mikro-orm/mysql": "^6.5.8",
18-
"@mikro-orm/postgresql": "^6.5.8",
16+
"@mikro-orm/core": "^6.5.9",
17+
"@mikro-orm/mysql": "^6.5.9",
18+
"@mikro-orm/postgresql": "^6.5.9",
1919
"@pgtyped/runtime": "^2.4.2",
20-
"@prisma/client": "^6.17.1",
21-
"drizzle-orm": "^0.44.6",
20+
"@prisma/client": "^6.18.0",
21+
"drizzle-orm": "^0.44.7",
2222
"knex": "^3.1.0",
2323
"kysely": "^0.28.8",
2424
"mariadb": "^3.4.5",
2525
"mitata": "^1.0.34",
26-
"mysql2": "^3.15.2",
26+
"mysql2": "^3.15.3",
2727
"pg": "^8.16.3",
2828
"pg-pool": "^3.10.1",
2929
"postgres": "~3.4.7",
30-
"prisma": "^6.17.1",
30+
"prisma": "^6.18.0",
3131
"reflect-metadata": "^0.2.2",
3232
"sequelize": "^6.37.7",
3333
"ts-node": "^10.9.2",

results/bun-mysql-cpu-count.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~1.57 GHz
1+
clk: ~1.75 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.3.0 (x64-linux)
3+
runtime: bun 1.3.1 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 537.80 µs/iter 547.10 µs █
10-
(368.27 µs … 3.07 ms) 1.79 ms █▆▂
11-
( 0.00 b … 2.63 mb) 35.59 kb ▇███▂▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 515.24 µs/iter 508.61 µs █
10+
(351.81 µs … 3.51 ms) 1.80 ms █
11+
( 0.00 b … 2.13 mb) 32.70 kb ▄██▆▃▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 348.80 µs/iter 346.36 µs █
14-
(273.43 µs … 1.71 ms) 1.10 ms ▄█
15-
( 0.00 b … 256.00 kb) 1.78 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 334.28 µs/iter 332.61 µs █
14+
(262.59 µs … 1.61 ms) 1.09 ms ▄█
15+
( 0.00 b … 768.00 kb) 7.55 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 315.93 µs/iter 314.69 µs █
18-
(261.77 µs … 1.37 ms) 966.55 µs ▅█
19-
( 0.00 b … 384.00 kb) 3.03 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 304.77 µs/iter 306.40 µs █
18+
(247.40 µs … 1.31 ms) 987.01 µs ▄█▂
19+
( 0.00 b … 384.00 kb) 3.23 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 253.73 µs/iter 254.37 µs █
22-
(197.32 µs … 1.38 ms) 859.98 µs █▃
23-
( 0.00 b … 128.00 kb) 975.47 b ▅██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 239.32 µs/iter 239.23 µs █
22+
(186.48 µs … 1.19 ms) 865.74 µs ▂█
23+
( 0.00 b … 128.00 kb) 873.17 b ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 504.00 µs/iter 625.86 µs
26-
(34.75 µs … 2.74 ms) 2.05 ms
27-
( 0.00 b … 896.00 kb) 12.81 kb █▃▁▁▅██▅▃▂▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 469.63 µs/iter 592.90 µs
26+
(36.47 µs … 2.71 ms) 1.93 ms
27+
( 0.00 b … 768.00 kb) 12.96 kb █▃▁▁▃██▆▃▂▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 271.96 µs/iter 271.60 µs █
30-
(215.31 µs … 1.22 ms) 953.61 µs
31-
( 0.00 b … 256.00 kb) 825.39 b ▄██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 255.71 µs/iter 253.68 µs █
30+
(206.78 µs … 1.25 ms) 961.08 µs
31+
( 0.00 b … 128.00 kb) 517.87 b ██▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 567.32 µs/iter 554.21 µs █
34-
(477.02 µs … 1.83 ms) 1.37 ms █
35-
( 0.00 b … 256.00 kb) 1.98 kb ▇█▇▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 540.01 µs/iter 531.15 µs █
34+
(457.86 µs … 1.44 ms) 1.23 ms █
35+
( 0.00 b … 128.00 kb) 1.95 kb ▄██▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 483.38 µs/iter 485.06 µs █
38-
(346.32 µs … 2.11 ms) 1.54 ms ██
39-
( 0.00 b … 768.00 kb) 18.03 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 472.87 µs/iter 471.14 µs █
38+
(340.56 µs … 2.25 ms) 1.54 ms ▂█▇
39+
( 0.00 b … 1.00 mb) 21.87 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 445.75 µs/iter 443.44 µs █
42-
(331.39 µs … 2.63 ms) 1.39 ms ▃█▄
43-
( 0.00 b … 1.38 mb) 7.38 kb ███▅▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 423.84 µs/iter 420.14 µs █
42+
(313.81 µs … 1.92 ms) 1.43 ms █▃
43+
( 0.00 b … 1.00 mb) 7.08 kb ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

results/bun-mysql-default.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~2.33 GHz
1+
clk: ~2.27 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.3.0 (x64-linux)
3+
runtime: bun 1.3.1 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 543.26 µs/iter 552.70 µs █
10-
(379.49 µs … 2.68 ms) 1.73 ms █▇▂
11-
( 0.00 b … 1.13 mb) 31.55 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 520.17 µs/iter 517.74 µs █
10+
(352.18 µs … 3.19 ms) 1.73 ms █
11+
( 0.00 b … 5.13 mb) 32.03 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 359.09 µs/iter 351.50 µs █
14-
(276.30 µs … 2.17 ms) 1.14 ms ▄█▃
15-
( 0.00 b … 3.13 mb) 9.52 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 335.96 µs/iter 335.57 µs █
14+
(258.07 µs … 1.60 ms) 1.13 ms ▃█▂
15+
( 0.00 b … 256.00 kb) 2.24 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 318.20 µs/iter 315.90 µs █
18-
(265.26 µs … 1.38 ms) 997.79 µs ██
19-
( 0.00 b … 640.00 kb) 3.05 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 298.56 µs/iter 299.74 µs █
18+
(240.66 µs … 1.27 ms) 950.72 µs █▂
19+
( 0.00 b … 384.00 kb) 2.93 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 260.46 µs/iter 259.52 µs █
22-
(196.01 µs … 1.70 ms) 939.34 µs
23-
( 0.00 b … 128.00 kb) 1.06 kb ██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 254.05 µs/iter 251.24 µs █
22+
(188.64 µs … 1.85 ms) 1.02 ms ▂
23+
( 0.00 b … 128.00 kb) 1.11 kb ██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 495.84 µs/iter 618.07 µs █
26-
(36.61 µs … 2.51 ms) 1.99 ms █ █▅
27-
( 0.00 b … 768.00 kb) 12.34 kb █▃▁▁▄██▇▂▂▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 494.84 µs/iter 596.81 µs █
26+
(36.79 µs … 3.10 ms) 2.08 ms █ ▂█
27+
( 0.00 b … 896.00 kb) 13.66 kb █▂▁▁███▅▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 272.79 µs/iter 271.89 µs █
30-
(215.26 µs … 1.31 ms) 930.69 µs
31-
( 0.00 b … 256.00 kb) 771.66 b ▅██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 261.08 µs/iter 260.17 µs █
30+
(206.50 µs … 1.35 ms) 1.06 ms ▅
31+
( 0.00 b … 128.00 kb) 951.33 b ██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 550.00 µs/iter 540.57 µs █
34-
(472.83 µs … 1.38 ms) 1.22 ms █
35-
( 0.00 b … 256.00 kb) 1.67 kb ▄██▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 539.42 µs/iter 530.21 µs █
34+
(464.43 µs … 1.53 ms) 1.26 ms █
35+
( 0.00 b … 256.00 kb) 2.46 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 487.32 µs/iter 482.61 µs █
38-
(346.44 µs … 2.57 ms) 1.65 ms █
39-
( 0.00 b … 1.88 mb) 21.66 kb ▇██▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 478.94 µs/iter 465.53 µs █
38+
(341.19 µs … 2.43 ms) 1.63 ms █
39+
( 0.00 b … 1.13 mb) 20.61 kb ▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 442.27 µs/iter 441.27 µs █
42-
(333.26 µs … 2.26 ms) 1.45 ms ▃█▂
43-
( 0.00 b … 384.00 kb) 6.73 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 437.02 µs/iter 426.31 µs █
42+
(321.82 µs … 2.07 ms) 1.66 ms
43+
( 0.00 b … 896.00 kb) 5.75 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

results/bun-mysql-max.txt

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~3.01 GHz
1+
clk: ~1.56 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.3.0 (x64-linux)
3+
runtime: bun 1.3.1 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 587.85 µs/iter 593.41 µs █
10-
(368.97 µs … 2.86 ms) 2.08 ms █
11-
( 0.00 b … 4.75 mb) 35.94 kb ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 574.37 µs/iter 572.96 µs █
10+
(373.23 µs … 4.22 ms) 2.22 ms █
11+
( 0.00 b … 1.50 mb) 39.25 kb ███▆▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 360.32 µs/iter 350.06 µs █
14-
(276.37 µs … 2.20 ms) 1.18 ms
15-
( 0.00 b … 768.00 kb) 4.39 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 349.97 µs/iter 337.65 µs █
14+
(259.98 µs … 3.83 ms) 1.25 ms
15+
( 0.00 b … 1.50 mb) 5.27 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 318.09 µs/iter 314.52 µs █
18-
(263.18 µs … 1.37 ms) 1.00 ms ▂█
19-
( 0.00 b … 512.00 kb) 3.05 kb ██▇▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 304.24 µs/iter 306.38 µs █
18+
(247.26 µs … 1.40 ms) 977.81 µs ▄█▂
19+
( 0.00 b … 512.00 kb) 3.11 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 314.68 µs/iter 283.51 µs █
22-
(222.58 µs … 1.86 ms) 1.09 ms
23-
( 0.00 b … 256.00 kb) 4.19 kb ██▆▁▁▁▁▁▁▁▂▂▁▁▁▁▁▁▁▁
21+
Mariadb 294.73 µs/iter 268.42 µs █
22+
(203.60 µs … 2.00 ms) 1.10 ms
23+
( 0.00 b … 256.00 kb) 3.23 kb ██▆▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 506.56 µs/iter 642.82 µs
26-
(37.11 µs … 2.98 ms) 2.06 ms █ █
27-
( 0.00 b … 640.00 kb) 11.75 kb █▃▁▁▄██▆▂▂▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 495.24 µs/iter 610.23 µs
26+
(36.84 µs … 3.21 ms) 2.12 ms █ █
27+
( 0.00 b … 1.00 mb) 12.51 kb █▃▁▁███▄▂▂▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 274.03 µs/iter 274.26 µs █
30-
(220.85 µs … 1.24 ms) 984.16 µs
31-
( 0.00 b … 256.00 kb) 942.57 b ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 260.43 µs/iter 261.25 µs █
30+
(206.62 µs … 1.28 ms) 981.78 µs
31+
( 0.00 b … 256.00 kb) 791.50 b ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 560.25 µs/iter 549.23 µs █
34-
(480.38 µs … 1.49 ms) 1.27 ms █
35-
( 0.00 b … 384.00 kb) 1.91 kb ██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 544.00 µs/iter 534.52 µs █
34+
(464.89 µs … 1.48 ms) 1.30 ms █
35+
( 0.00 b … 460.00 kb) 2.54 kb ██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 496.46 µs/iter 492.55 µs █
38-
(360.37 µs … 2.24 ms) 1.52 ms █▅
39-
( 0.00 b … 768.00 kb) 12.96 kb ▇██▆▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 473.42 µs/iter 477.24 µs █
38+
(338.92 µs … 2.33 ms) 1.54 ms █▅
39+
( 0.00 b … 768.00 kb) 17.75 kb ▆██▇▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 454.96 µs/iter 459.46 µs █
42-
(337.59 µs … 2.48 ms) 1.45 ms █▂
43-
( 0.00 b … 768.00 kb) 9.05 kb ███▆▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 426.69 µs/iter 425.18 µs █
42+
(318.17 µs … 1.99 ms) 1.48 ms █▂
43+
( 0.00 b … 768.00 kb) 6.20 kb ▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)