Skip to content

Commit f7dbda4

Browse files
Commit from GitHub Actions (ORM Benchmark)
1 parent 014223c commit f7dbda4

18 files changed

+479
-479
lines changed

bun.lockb

364 Bytes
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.1",
17-
"@mikro-orm/mysql": "^6.5.1",
18-
"@mikro-orm/postgresql": "^6.5.1",
16+
"@mikro-orm/core": "^6.5.2",
17+
"@mikro-orm/mysql": "^6.5.2",
18+
"@mikro-orm/postgresql": "^6.5.2",
1919
"@pgtyped/runtime": "^2.4.2",
2020
"@prisma/client": "^6.15.0",
2121
"drizzle-orm": "^0.44.5",
2222
"knex": "^3.1.0",
2323
"kysely": "^0.28.5",
2424
"mariadb": "^3.4.5",
2525
"mitata": "^1.0.34",
26-
"mysql2": "^3.14.3",
26+
"mysql2": "^3.14.4",
2727
"pg": "^8.16.3",
2828
"pg-pool": "^3.10.1",
2929
"postgres": "~3.4.7",

results/bun-mysql-cpu-count.txt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~3.08 GHz
1+
clk: ~1.52 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
33
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 552.03 µs/iter 547.28 µs █
10-
(379.96 µs … 2.90 ms) 2.07 ms █
11-
( 0.00 b … 3.50 mb) 30.12 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 522.15 µs/iter 529.73 µs █
10+
(355.14 µs … 2.84 ms) 1.80 ms █
11+
( 0.00 b … 5.25 mb) 31.75 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 360.80 µs/iter 351.98 µs █
14-
(273.42 µs … 2.16 ms) 1.35 ms
15-
( 0.00 b … 1.00 mb) 4.12 kb ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 339.61 µs/iter 335.46 µs █
14+
(262.71 µs … 1.84 ms) 1.16 ms
15+
( 0.00 b … 256.00 kb) 1.80 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 323.99 µs/iter 316.88 µs █
18-
(254.96 µs … 1.74 ms) 1.27 ms ▅
19-
( 0.00 b … 256.00 kb) 1.59 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 305.60 µs/iter 307.12 µs █
18+
(248.20 µs … 1.27 ms) 993.77 µs ▃
19+
( 0.00 b … 384.00 kb) 2.76 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 257.90 µs/iter 253.93 µs █
22-
(191.52 µs … 1.42 ms) 1.19 ms
23-
( 0.00 b … 256.00 kb) 1.07 kb ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 246.59 µs/iter 247.77 µs █
22+
(185.47 µs … 1.55 ms) 980.69 µs
23+
( 0.00 b … 128.00 kb) 947.63 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 554.22 µs/iter 666.66 µs █
26-
(36.58 µs … 3.37 ms) 2.62 ms █ █▅
27-
( 0.00 b … 896.00 kb) 14.80 kb █▂▁▂██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 489.99 µs/iter 624.62 µs
26+
(36.27 µs … 3.06 ms) 2.12 ms █ ▇█▅
27+
( 0.00 b … 768.00 kb) 12.64 kb █▃▁▁███▆▃▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 280.36 µs/iter 274.69 µs
30-
(214.40 µs … 1.66 ms) 1.36 ms ██
31-
( 0.00 b … 256.00 kb) 848.55 b ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 261.34 µs/iter 260.65 µs
30+
(206.15 µs … 1.44 ms) 1.12 ms ██
31+
( 0.00 b … 128.00 kb) 635.24 b ██▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 574.86 µs/iter 552.61 µs █
34-
(472.83 µs … 1.97 ms) 1.64 ms █
35-
( 0.00 b … 256.00 kb) 1.86 kb ██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 550.63 µs/iter 544.98 µs █
34+
(456.42 µs … 1.61 ms) 1.34 ms █
35+
( 0.00 b … 1.00 mb) 2.83 kb ▆██▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 519.32 µs/iter 501.07 µs █
38-
(356.37 µs … 2.86 ms) 2.07 ms █
39-
( 0.00 b … 1.25 mb) 12.94 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 484.06 µs/iter 475.31 µs █
38+
(338.94 µs … 2.37 ms) 1.80 ms █
39+
( 0.00 b … 896.00 kb) 17.41 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 464.03 µs/iter 453.48 µs █
42-
(332.82 µs … 2.27 ms) 1.86 ms ▃█▂
43-
( 0.00 b … 512.00 kb) 6.80 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 431.52 µs/iter 427.55 µs █
42+
(313.04 µs … 2.53 ms) 1.58 ms █▃
43+
( 0.00 b … 640.00 kb) 6.18 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

results/bun-mysql-default.txt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~3.08 GHz
1+
clk: ~2.16 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
33
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 553.71 µs/iter 546.35 µs █
10-
(378.67 µs … 3.75 ms) 2.05 ms █
11-
( 0.00 b … 896.00 kb) 32.11 kb ▇██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 539.07 µs/iter 551.66 µs █
10+
(369.55 µs … 2.98 ms) 1.95 ms █
11+
( 0.00 b … 2.13 mb) 31.63 kb ███▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 374.64 µs/iter 364.66 µs █
14-
(276.05 µs … 2.40 ms) 1.48 ms ██
15-
( 0.00 b … 1.25 mb) 7.64 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 347.01 µs/iter 343.73 µs █
14+
(262.30 µs … 2.18 ms) 1.25 ms ▅█▂
15+
( 0.00 b … 256.00 kb) 2.04 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 328.30 µs/iter 322.50 µs █
18-
(256.54 µs … 1.85 ms) 1.31 ms ▄█
19-
( 0.00 b … 384.00 kb) 2.51 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 309.22 µs/iter 309.63 µs █
18+
(248.03 µs … 1.35 ms) 1.08 ms ▄█
19+
( 0.00 b … 384.00 kb) 3.35 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 271.43 µs/iter 266.31 µs █
22-
(200.21 µs … 1.65 ms) 1.25 ms
23-
( 0.00 b … 128.00 kb) 1.05 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 256.34 µs/iter 253.34 µs █
22+
(188.89 µs … 1.55 ms) 1.10 ms
23+
( 0.00 b … 256.00 kb) 1.12 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 576.57 µs/iter 667.92 µs █
26-
(40.76 µs … 3.42 ms) 2.52 ms █▅
27-
( 0.00 b … 768.00 kb) 16.18 kb █▂▁▁██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 491.92 µs/iter 604.03 µs
26+
(37.11 µs … 3.08 ms) 2.16 ms ▆█
27+
( 0.00 b … 896.00 kb) 12.44 kb █▂▁▁███▄▂▂▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 280.81 µs/iter 272.77 µs █
30-
(214.07 µs … 1.74 ms) 1.37 ms
31-
( 0.00 b … 128.00 kb) 453.93 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 262.22 µs/iter 265.56 µs █
30+
(204.21 µs … 1.29 ms) 1.04 ms
31+
( 0.00 b … 256.00 kb) 849.05 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 583.02 µs/iter 559.49 µs █
34-
(472.88 µs … 1.96 ms) 1.72 ms █
35-
( 0.00 b … 256.00 kb) 2.54 kb ▇█▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 545.87 µs/iter 532.80 µs █
34+
(457.88 µs … 1.62 ms) 1.42 ms █
35+
( 0.00 b … 1.00 mb) 2.70 kb ▆█▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 529.39 µs/iter 513.04 µs █
38-
(357.57 µs … 3.01 ms) 2.05 ms █
39-
( 0.00 b … 768.00 kb) 14.26 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 483.66 µs/iter 480.98 µs █
38+
(341.44 µs … 2.26 ms) 1.72 ms █
39+
( 0.00 b … 768.00 kb) 18.42 kb ███▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 478.87 µs/iter 467.60 µs █
42-
(337.01 µs … 2.54 ms) 2.02 ms ▂█
43-
( 0.00 b … 512.00 kb) 7.50 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 438.20 µs/iter 432.23 µs █
42+
(317.18 µs … 2.20 ms) 1.63 ms ▂█
43+
( 0.00 b … 640.00 kb) 5.97 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

results/bun-mysql-max.txt

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
1-
clk: ~1.52 GHz
1+
clk: ~1.59 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
33
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 613.96 µs/iter 601.80 µs █
10-
(391.96 µs … 3.32 ms) 2.42 ms █▃
11-
( 0.00 b … 2.00 mb) 27.75 kb ▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 570.18 µs/iter 563.14 µs █
10+
(369.81 µs … 4.09 ms) 2.13 ms █▃
11+
( 0.00 b … 3.38 mb) 36.92 kb ▄██▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 388.58 µs/iter 371.69 µs
14-
(277.33 µs … 3.38 ms) 1.66 ms
15-
( 0.00 b … 640.00 kb) 4.24 kb ███▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 352.59 µs/iter 342.42 µs
14+
(260.83 µs … 3.44 ms) 1.27 ms
15+
( 0.00 b … 1.38 mb) 5.16 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 333.22 µs/iter 321.49 µs █
18-
(261.00 µs … 2.24 ms) 1.39 ms
19-
( 0.00 b … 256.00 kb) 1.76 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 310.22 µs/iter 307.69 µs █
18+
(248.38 µs … 1.48 ms) 1.13 ms
19+
( 0.00 b … 512.00 kb) 2.98 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 341.11 µs/iter 299.70 µs █
22-
(227.76 µs … 2.89 ms) 1.56 ms
23-
( 0.00 b … 128.00 kb) 3.33 kb ██▁▁▁▁▂▂▂▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 302.93 µs/iter 269.68 µs █
22+
(212.01 µs … 2.16 ms) 1.22 ms
23+
( 0.00 b … 384.00 kb) 3.08 kb ██▁▁▁▁▁▁▂▂▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 636.58 µs/iter 715.28 µs
26-
(38.60 µs … 4.13 ms) 2.90 ms
27-
( 0.00 b … 896.00 kb) 17.43 kb █▂▁▆██▄▃▂▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 513.85 µs/iter 621.29 µs ▂█
26+
(37.51 µs … 2.84 ms) 2.24 ms
27+
( 0.00 b … 768.00 kb) 13.19 kb █▃▁▁███▄▃▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 282.09 µs/iter 273.53 µs █
30-
(212.24 µs … 1.62 ms) 1.40 ms
31-
( 0.00 b … 128.00 kb) 570.37 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 264.76 µs/iter 264.85 µs █
30+
(201.72 µs … 1.42 ms) 1.11 ms
31+
( 0.00 b … 128.00 kb) 428.34 b ▇█▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 602.37 µs/iter 582.68 µs █
34-
(478.57 µs … 2.21 ms) 1.81 ms
35-
( 0.00 b … 256.00 kb) 2.18 kb █▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 550.24 µs/iter 533.01 µs █
34+
(451.67 µs … 1.68 ms) 1.48 ms
35+
( 0.00 b … 256.00 kb) 2.51 kb █▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 531.06 µs/iter 519.72 µs █
38-
(357.78 µs … 3.31 ms) 2.09 ms █▂
39-
( 0.00 b … 640.00 kb) 11.65 kb ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 484.40 µs/iter 475.88 µs █
38+
(349.74 µs … 2.35 ms) 1.72 ms █▂
39+
( 0.00 b … 768.00 kb) 17.67 kb ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 477.56 µs/iter 462.20 µs █
42-
(341.02 µs … 2.50 ms) 1.98 ms ▂█
43-
( 0.00 b … 1.38 mb) 7.21 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 447.33 µs/iter 436.12 µs █
42+
(321.45 µs … 2.56 ms) 1.65 ms ▂█
43+
( 0.00 b … 1.38 mb) 7.12 kb ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)