Skip to content

Commit 51cc5bc

Browse files
Commit from GitHub Actions (ORM Benchmark)
1 parent 5a5e657 commit 51cc5bc

18 files changed

+484
-484
lines changed

bun.lockb

629 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.0.0",
16-
"@mikro-orm/core": "^6.5.6",
17-
"@mikro-orm/mysql": "^6.5.6",
18-
"@mikro-orm/postgresql": "^6.5.6",
16+
"@mikro-orm/core": "^6.5.7",
17+
"@mikro-orm/mysql": "^6.5.7",
18+
"@mikro-orm/postgresql": "^6.5.7",
1919
"@pgtyped/runtime": "^2.4.2",
20-
"@prisma/client": "^6.16.3",
20+
"@prisma/client": "^6.17.1",
2121
"drizzle-orm": "^0.44.6",
2222
"knex": "^3.1.0",
23-
"kysely": "^0.28.7",
23+
"kysely": "^0.28.8",
2424
"mariadb": "^3.4.5",
2525
"mitata": "^1.0.34",
26-
"mysql2": "^3.15.1",
26+
"mysql2": "^3.15.2",
2727
"pg": "^8.16.3",
2828
"pg-pool": "^3.10.1",
2929
"postgres": "~3.4.7",
30-
"prisma": "^6.16.3",
30+
"prisma": "^6.17.1",
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.58 GHz
1+
clk: ~1.57 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.23 (x64-linux)
3+
runtime: bun 1.3.0 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 521.65 µs/iter 504.82 µs █
10-
(374.06 µs … 4.22 ms) 1.72 ms █
11-
( 0.00 b … 5.38 mb) 32.74 kb ▇██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 536.43 µs/iter 524.36 µs █
10+
(368.74 µs … 3.87 ms) 1.89 ms █
11+
( 0.00 b … 4.88 mb) 30.82 kb ▇██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 350.62 µs/iter 351.92 µs █
14-
(274.03 µs … 1.63 ms) 1.13 ms ▇█▄
15-
( 0.00 b … 768.00 kb) 4.88 kb ███▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 350.72 µs/iter 343.50 µs █
14+
(266.86 µs … 2.04 ms) 1.39 ms ██
15+
( 0.00 b … 256.00 kb) 1.92 kb ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 311.67 µs/iter 310.64 µs █
18-
(253.16 µs … 1.35 ms) 953.51 µs
19-
( 0.00 b … 512.00 kb) 3.78 kb ▇██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 312.98 µs/iter 309.03 µs █
18+
(248.86 µs … 1.70 ms) 1.24 ms ▇
19+
( 0.00 b … 1.50 mb) 3.20 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 252.63 µs/iter 253.66 µs █
22-
(196.28 µs … 1.53 ms) 949.65 µs ▄█▂
23-
( 0.00 b … 128.00 kb) 1.20 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 247.66 µs/iter 245.19 µs █
22+
(188.62 µs … 1.47 ms) 1.18 ms ██
23+
( 0.00 b … 128.00 kb) 750.70 b ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 513.37 µs/iter 625.35 µs
26-
(37.73 µs … 2.89 ms) 2.09 ms █▄
27-
( 0.00 b … 1.88 mb) 20.49 kb █▂▁▁▅██▄▃▁▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 504.18 µs/iter 611.21 µs █▄
26+
(38.21 µs … 3.14 ms) 2.27 ms ██
27+
( 0.00 b … 768.00 kb) 14.51 kb █▂▁▁███▄▂▂▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 268.81 µs/iter 266.62 µs
30-
(212.26 µs … 1.22 ms) 975.23 µs
31-
( 0.00 b … 128.00 kb) 490.50 b █▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 270.76 µs/iter 271.39 µs
30+
(207.55 µs … 1.53 ms) 1.26 ms █
31+
( 0.00 b … 256.00 kb) 986.33 b █▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 552.00 µs/iter 541.94 µs █
34-
(472.16 µs … 1.54 ms) 1.25 ms █▂
35-
( 0.00 b … 1.00 mb) 2.72 kb ▆██▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 544.31 µs/iter 527.84 µs █
34+
(459.80 µs … 1.68 ms) 1.50 ms ▂█
35+
( 0.00 b … 128.00 kb) 2.18 kb ██▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 488.50 µs/iter 482.36 µs █
38-
(355.27 µs … 2.34 ms) 1.67 ms █
39-
( 0.00 b … 2.13 mb) 16.95 kb ▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 488.69 µs/iter 480.86 µs █
38+
(341.41 µs … 2.69 ms) 1.83 ms █
39+
( 0.00 b … 896.00 kb) 14.94 kb ███▃▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 450.59 µs/iter 445.89 µs █
42-
(331.28 µs … 2.57 ms) 1.59 ms ▂█▃
43-
( 0.00 b … 512.00 kb) 6.65 kb ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 442.33 µs/iter 441.34 µs █
42+
(321.56 µs … 2.60 ms) 1.70 ms ▃█▂
43+
( 0.00 b … 512.00 kb) 7.30 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.27 GHz
1+
clk: ~2.32 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.23 (x64-linux)
3+
runtime: bun 1.3.0 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 557.27 µs/iter 553.48 µs █
10-
(376.73 µs … 4.32 ms) 2.05 ms █
11-
( 0.00 b … 2.25 mb) 30.68 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 533.49 µs/iter 528.52 µs █
10+
(351.79 µs … 4.61 ms) 2.04 ms █
11+
( 0.00 b … 4.63 mb) 35.79 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 359.97 µs/iter 354.47 µs
14-
(276.25 µs … 2.30 ms) 1.28 ms ██
15-
( 0.00 b … 896.00 kb) 3.12 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 349.19 µs/iter 344.17 µs
14+
(265.84 µs … 2.21 ms) 1.38 ms ██
15+
( 0.00 b … 256.00 kb) 1.99 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 316.87 µs/iter 319.43 µs █
18-
(256.04 µs … 1.60 ms) 1.03 ms ██
19-
( 0.00 b … 512.00 kb) 2.93 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 309.36 µs/iter 304.26 µs █
18+
(249.82 µs … 1.58 ms) 1.19 ms ██
19+
( 0.00 b … 512.00 kb) 3.03 kb ██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 260.71 µs/iter 260.24 µs █
22-
(195.74 µs … 2.15 ms) 979.68 µs █▂
23-
( 0.00 b … 256.00 kb) 1.06 kb ▇██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 250.79 µs/iter 247.79 µs █
22+
(188.36 µs … 1.61 ms) 1.17 ms ▆█
23+
( 0.00 b … 128.00 kb) 0.99 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 521.81 µs/iter 634.57 µs
26-
(37.78 µs … 2.66 ms) 2.18 ms █ █▂
27-
( 0.00 b … 1.00 mb) 14.71 kb █▁▁███▃▂▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 494.57 µs/iter 612.75 µs ▇▆
26+
(37.37 µs … 3.18 ms) 2.19 ms █ █▂
27+
( 0.00 b … 1.00 mb) 13.25 kb █▁▁███▃▂▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 275.08 µs/iter 274.74 µs █
30-
(216.52 µs … 1.33 ms) 1.05 ms
31-
( 0.00 b … 128.00 kb) 611.97 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 265.69 µs/iter 263.23 µs █
30+
(206.72 µs … 1.45 ms) 1.21 ms
31+
( 0.00 b … 256.00 kb) 969.31 b ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 553.29 µs/iter 542.09 µs █
34-
(470.81 µs … 1.62 ms) 1.34 ms █
35-
( 0.00 b … 752.00 kb) 2.52 kb ▇██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 551.13 µs/iter 531.19 µs █
34+
(461.02 µs … 1.69 ms) 1.52 ms █
35+
( 0.00 b … 384.00 kb) 2.09 kb ▆█▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 495.27 µs/iter 493.09 µs █
38-
(350.52 µs … 2.37 ms) 1.71 ms █
39-
( 0.00 b … 768.00 kb) 14.44 kb ▇██▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 489.31 µs/iter 472.51 µs █
38+
(345.87 µs … 2.63 ms) 1.82 ms █
39+
( 0.00 b … 3.00 mb) 15.94 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 465.56 µs/iter 449.37 µs █
42-
(335.42 µs … 2.51 ms) 1.90 ms
43-
( 0.00 b … 1.00 mb) 8.21 kb ██▇▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 451.30 µs/iter 434.16 µs █
42+
(328.73 µs … 2.58 ms) 1.80 ms
43+
( 0.00 b … 896.00 kb) 8.69 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.08 GHz
1+
clk: ~2.43 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.23 (x64-linux)
3+
runtime: bun 1.3.0 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 593.53 µs/iter 589.93 µs █
10-
(397.06 µs … 3.27 ms) 2.39 ms ▅█▄
11-
( 0.00 b … 7.25 mb) 34.56 kb ███▅▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
9+
DrizzleORM 575.22 µs/iter 564.82 µs █
10+
(370.73 µs … 4.66 ms) 2.18 ms █▂
11+
( 0.00 b … 3.13 mb) 35.29 kb ▅██▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 366.17 µs/iter 351.37 µs ▃█
14-
(274.84 µs … 3.01 ms) 1.32 ms ██
15-
( 0.00 b … 1.00 mb) 5.49 kb ██▇▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
13+
KnexJS 354.83 µs/iter 334.50 µs ▃█
14+
(267.79 µs … 3.03 ms) 1.38 ms ██
15+
( 0.00 b … 1.13 mb) 3.35 kb ██▆▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 316.33 µs/iter 313.45 µs
18-
(258.24 µs … 1.52 ms) 1.07 ms
19-
( 0.00 b … 512.00 kb) 3.22 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
17+
Kysely 313.13 µs/iter 308.42 µs
18+
(252.42 µs … 1.55 ms) 1.24 ms
19+
( 0.00 b … 1.63 mb) 2.95 kb ██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 310.62 µs/iter 279.25 µs
22-
(220.44 µs … 2.01 ms) 1.18 ms
23-
( 0.00 b … 256.00 kb) 3.83 kb ██▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁
21+
Mariadb 308.01 µs/iter 272.33 µs
22+
(214.33 µs … 2.22 ms) 1.36 ms
23+
( 0.00 b … 128.00 kb) 3.37 kb ██▁▁▁▁▁▂▂▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 546.86 µs/iter 652.11 µs
26-
(39.04 µs … 3.06 ms) 2.20 ms █▃
27-
( 0.00 b … 640.00 kb) 12.14 kb █▃▁▁▇██▄▂▂▁▁▁▁▁▁▁▁▁▁▁
25+
MikroORM 507.56 µs/iter 613.13 µs
26+
(39.73 µs … 3.45 ms) 2.26 ms ██
27+
( 0.00 b … 512.00 kb) 10.96 kb █▂▁▁███▃▂▂▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 273.77 µs/iter 275.54 µs
30-
(221.13 µs … 1.34 ms) 1.01 ms ██
31-
( 0.00 b … 256.00 kb) 774.26 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
29+
MySQL2 269.10 µs/iter 263.12 µs
30+
(207.32 µs … 1.49 ms) 1.30 ms ██
31+
( 0.00 b … 128.00 kb) 380.55 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 556.91 µs/iter 546.57 µs █
34-
(473.84 µs … 1.54 ms) 1.31 ms
35-
( 0.00 b … 256.00 kb) 2.23 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
33+
Prisma 558.14 µs/iter 537.51 µs █
34+
(469.15 µs … 1.71 ms) 1.57 ms
35+
( 0.00 b … 476.00 kb) 2.73 kb ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 496.85 µs/iter 491.52 µs █
38-
(355.19 µs … 2.39 ms) 1.65 ms █
39-
( 0.00 b … 640.00 kb) 12.64 kb ▆██▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
37+
Sequelize 494.28 µs/iter 481.32 µs █
38+
(347.42 µs … 2.60 ms) 1.86 ms █
39+
( 0.00 b … 768.00 kb) 18.16 kb ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 444.84 µs/iter 441.33 µs █
42-
(328.35 µs … 2.18 ms) 1.55 ms ▅█
43-
( 0.00 b … 640.00 kb) 7.50 kb ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
41+
TypeORM 443.29 µs/iter 435.94 µs █
42+
(327.63 µs … 2.55 ms) 1.76 ms ▅█
43+
( 0.00 b … 640.00 kb) 6.65 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)