Skip to content

Commit 86a0f94

Browse files
Commit from GitHub Actions (ORM Benchmark)
1 parent 595c995 commit 86a0f94

18 files changed

+484
-484
lines changed

bun.lockb

2.49 KB
Binary file not shown.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
},
1414
"dependencies": {
1515
"@faker-js/faker": "^10.0.0",
16-
"@mikro-orm/core": "^6.5.5",
17-
"@mikro-orm/mysql": "^6.5.5",
18-
"@mikro-orm/postgresql": "^6.5.5",
16+
"@mikro-orm/core": "^6.5.6",
17+
"@mikro-orm/mysql": "^6.5.6",
18+
"@mikro-orm/postgresql": "^6.5.6",
1919
"@pgtyped/runtime": "^2.4.2",
2020
"@prisma/client": "^6.16.2",
2121
"drizzle-orm": "^0.44.5",
2222
"knex": "^3.1.0",
2323
"kysely": "^0.28.7",
2424
"mariadb": "^3.4.5",
2525
"mitata": "^1.0.34",
26-
"mysql2": "^3.15.0",
26+
"mysql2": "^3.15.1",
2727
"pg": "^8.16.3",
2828
"pg-pool": "^3.10.1",
2929
"postgres": "~3.4.7",

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: ~2.34 GHz
1+
clk: ~2.17 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.22 (x64-linux)
3+
runtime: bun 1.2.23 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 524.18 µs/iter 513.67 µs █
10-
(365.91 µs … 2.95 ms) 1.90 ms █
11-
( 0.00 b … 6.00 mb) 27.10 kb ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 556.90 µs/iter 531.73 µs █
10+
(362.13 µs … 3.00 ms) 2.14 ms █
11+
( 0.00 b … 2.75 mb) 30.15 kb ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 346.15 µs/iter 338.69 µs
14-
(268.22 µs … 1.70 ms) 1.25 ms
15-
( 0.00 b … 128.00 kb) 1.22 kb ██▇▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 373.17 µs/iter 361.14 µs
14+
(277.13 µs … 2.49 ms) 1.52 ms
15+
( 0.00 b … 1.13 mb) 4.70 kb ██▇▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 324.09 µs/iter 313.69 µs
18-
(259.75 µs … 1.69 ms) 1.33 ms
19-
( 0.00 b … 256.00 kb) 1.27 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 328.59 µs/iter 316.11 µs
18+
(257.56 µs … 1.75 ms) 1.37 ms
19+
( 0.00 b … 128.00 kb) 855.39 b ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 266.83 µs/iter 262.73 µs █
22-
(199.01 µs … 1.76 ms) 1.34 ms
23-
( 0.00 b … 256.00 kb) 1.21 kb ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 274.28 µs/iter 267.49 µs █
22+
(202.12 µs … 1.76 ms) 1.34 ms
23+
( 0.00 b … 128.00 kb) 992.97 b ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 558.21 µs/iter 652.67 µs █
26-
(37.98 µs … 3.55 ms) 2.77 ms
27-
( 0.00 b … 1.00 mb) 14.11 kb █▂▁▇██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 591.82 µs/iter 677.30 µs █
26+
(39.15 µs … 3.63 ms) 2.74 ms
27+
( 0.00 b … 640.00 kb) 15.77 kb █▂▁▄██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 279.04 µs/iter 272.72 µs █
30-
(215.50 µs … 1.60 ms) 1.31 ms
31-
( 0.00 b … 256.00 kb) 789.25 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 283.76 µs/iter 275.05 µs █
30+
(216.72 µs … 1.54 ms) 1.40 ms
31+
( 0.00 b … 128.00 kb) 457.69 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 554.43 µs/iter 536.61 µs █
34-
(462.82 µs … 1.67 ms) 1.50 ms █
35-
( 0.00 b … 128.00 kb) 1.79 kb ▇█▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 588.07 µs/iter 561.19 µs █
34+
(480.33 µs … 1.91 ms) 1.76 ms █
35+
( 0.00 b … 256.00 kb) 2.57 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 482.98 µs/iter 468.23 µs █
38-
(342.15 µs … 2.40 ms) 1.69 ms █▂
39-
( 0.00 b … 768.00 kb) 16.35 kb ▇██▄▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 531.83 µs/iter 513.27 µs █
38+
(360.47 µs … 2.78 ms) 2.10 ms █▂
39+
( 0.00 b … 640.00 kb) 15.34 kb ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 452.42 µs/iter 439.36 µs █
42-
(325.77 µs … 2.59 ms) 1.76 ms
43-
( 0.00 b … 1.00 mb) 7.79 kb ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 476.91 µs/iter 462.06 µs █
42+
(339.77 µs … 2.36 ms) 1.95 ms
43+
( 0.00 b … 1.13 mb) 7.65 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.34 GHz
1+
clk: ~2.45 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.22 (x64-linux)
3+
runtime: bun 1.2.23 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 554.34 µs/iter 530.18 µs █
10-
(372.08 µs … 3.07 ms) 2.10 ms █
11-
( 0.00 b … 1.63 mb) 27.05 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 561.53 µs/iter 556.46 µs █
10+
(385.82 µs … 3.02 ms) 2.09 ms █
11+
( 0.00 b … 896.00 kb) 31.43 kb ███▅▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 369.99 µs/iter 359.63 µs █
14-
(272.70 µs … 2.34 ms) 1.48 ms ▆█
15-
( 0.00 b … 512.00 kb) 2.46 kb ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 370.93 µs/iter 360.76 µs █
14+
(271.40 µs … 2.38 ms) 1.52 ms ▆█
15+
( 0.00 b … 1.25 mb) 4.47 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 320.30 µs/iter 314.53 µs █
18-
(251.55 µs … 1.67 ms) 1.25 ms
19-
( 0.00 b … 384.00 kb) 2.51 kb ██▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 328.18 µs/iter 320.99 µs █
18+
(258.77 µs … 1.88 ms) 1.37 ms
19+
( 0.00 b … 256.00 kb) 1.35 kb ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 259.46 µs/iter 254.41 µs █
22-
(197.31 µs … 1.74 ms) 1.06 ms
23-
( 0.00 b … 128.00 kb) 1.11 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 278.52 µs/iter 272.42 µs █
22+
(203.17 µs … 1.98 ms) 1.38 ms
23+
( 0.00 b … 128.00 kb) 1.42 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 540.69 µs/iter 644.68 µs █
26-
(38.89 µs … 3.29 ms) 2.39 ms
27-
( 0.00 b … 768.00 kb) 12.91 kb █▃▁▁██▇▃▂▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 584.60 µs/iter 675.50 µs █
26+
(39.70 µs … 3.57 ms) 2.75 ms
27+
( 0.00 b … 1.38 mb) 14.97 kb █▂▁▄██▄▂▂▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 274.04 µs/iter 269.07 µs
30-
(211.06 µs … 1.64 ms) 1.19 ms
31-
( 0.00 b … 256.00 kb) 777.55 b ██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 286.85 µs/iter 280.76 µs
30+
(222.57 µs … 1.76 ms) 1.38 ms
31+
( 0.00 b … 128.00 kb) 405.44 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 558.92 µs/iter 542.10 µs █
34-
(470.70 µs … 1.73 ms) 1.45 ms █
35-
( 0.00 b … 248.00 kb) 1.90 kb ▇█▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 583.82 µs/iter 561.68 µs █
34+
(481.20 µs … 1.81 ms) 1.72 ms █
35+
( 0.00 b … 256.00 kb) 2.44 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 492.45 µs/iter 485.16 µs █
38-
(340.57 µs … 2.47 ms) 1.77 ms █
39-
( 0.00 b … 1.13 mb) 15.43 kb ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 539.22 µs/iter 523.21 µs █
38+
(368.27 µs … 2.99 ms) 2.14 ms █
39+
( 0.00 b … 1.00 mb) 14.88 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 466.78 µs/iter 452.79 µs █
42-
(327.40 µs … 3.33 ms) 1.83 ms
43-
( 0.00 b … 1.00 mb) 7.63 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 469.53 µs/iter 452.48 µs █
42+
(340.31 µs … 2.60 ms) 1.87 ms
43+
( 0.00 b … 384.00 kb) 7.00 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: ~1.56 GHz
1+
clk: ~1.58 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.22 (x64-linux)
3+
runtime: bun 1.2.23 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 601.50 µs/iter 597.03 µs █
10-
(366.77 µs … 3.14 ms) 2.56 ms █
11-
( 0.00 b … 5.38 mb) 26.50 kb ██▄▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 614.90 µs/iter 598.52 µs █
10+
(388.89 µs … 3.13 ms) 2.69 ms █
11+
( 0.00 b … 1.25 mb) 37.33 kb ██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 372.72 µs/iter 353.04 µs █
14-
(274.17 µs … 3.67 ms) 1.35 ms ▆█
15-
( 0.00 b … 3.25 mb) 5.47 kb ██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 392.33 µs/iter 373.61 µs █
14+
(275.65 µs … 3.69 ms) 1.63 ms ▆█
15+
( 0.00 b … 2.63 mb) 5.19 kb ██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 326.94 µs/iter 322.87 µs █
18-
(258.76 µs … 1.68 ms) 1.28 ms
19-
( 0.00 b … 384.00 kb) 2.12 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 334.19 µs/iter 323.72 µs █
18+
(261.37 µs … 1.90 ms) 1.42 ms
19+
( 0.00 b … 256.00 kb) 1.44 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 318.81 µs/iter 285.56 µs █
22-
(221.61 µs … 2.19 ms) 1.28 ms
23-
( 0.00 b … 256.00 kb) 4.23 kb ██▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 339.81 µs/iter 296.93 µs █
22+
(226.57 µs … 2.39 ms) 1.58 ms
23+
( 0.00 b … 256.00 kb) 3.31 kb ██▁▁▁▁▂▂▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 534.35 µs/iter 636.20 µs █
26-
(38.28 µs … 3.34 ms) 2.51 ms ▆ █
27-
( 0.00 b … 768.00 kb) 11.53 kb █▂▁▁██▄▂▁▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 594.63 µs/iter 683.44 µs █
26+
(39.15 µs … 4.16 ms) 2.67 ms ▆ █
27+
( 0.00 b … 1.00 mb) 15.20 kb █▂▁▂██▅▃▂▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 280.20 µs/iter 276.14 µs
30-
(214.63 µs … 1.56 ms) 1.27 ms
31-
( 0.00 b … 256.00 kb) 680.30 b ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 294.72 µs/iter 284.76 µs
30+
(223.69 µs … 1.93 ms) 1.46 ms
31+
( 0.00 b … 128.00 kb) 472.97 b ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 567.51 µs/iter 549.50 µs █
34-
(472.31 µs … 1.90 ms) 1.56 ms █
35-
( 0.00 b … 256.00 kb) 1.94 kb ▆█▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 595.31 µs/iter 566.57 µs █
34+
(478.71 µs … 1.99 ms) 1.80 ms █
35+
( 0.00 b … 128.00 kb) 2.03 kb ▅█▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 496.13 µs/iter 486.46 µs █
38-
(345.48 µs … 2.38 ms) 1.80 ms █
39-
( 0.00 b … 768.00 kb) 14.00 kb ▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 541.05 µs/iter 520.69 µs █
38+
(369.38 µs … 2.93 ms) 2.09 ms █
39+
( 0.00 b … 1.00 mb) 13.71 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 456.66 µs/iter 450.05 µs █
42-
(327.31 µs … 2.58 ms) 1.75 ms █
43-
( 0.00 b … 384.00 kb) 5.91 kb ▇██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 484.87 µs/iter 464.39 µs █
42+
(343.48 µs … 2.30 ms) 2.05 ms █
43+
( 0.00 b … 1.63 mb) 8.15 kb ██▇▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)