Skip to content

Commit 014223c

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

18 files changed

+484
-484
lines changed

bun.lockb

-1.99 KB
Binary file not shown.

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@
1313
},
1414
"dependencies": {
1515
"@faker-js/faker": "^10.0.0",
16-
"@mikro-orm/core": "^6.4.16",
17-
"@mikro-orm/mysql": "^6.4.16",
18-
"@mikro-orm/postgresql": "^6.4.16",
16+
"@mikro-orm/core": "^6.5.1",
17+
"@mikro-orm/mysql": "^6.5.1",
18+
"@mikro-orm/postgresql": "^6.5.1",
1919
"@pgtyped/runtime": "^2.4.2",
20-
"@prisma/client": "^6.14.0",
21-
"drizzle-orm": "^0.44.4",
20+
"@prisma/client": "^6.15.0",
21+
"drizzle-orm": "^0.44.5",
2222
"knex": "^3.1.0",
2323
"kysely": "^0.28.5",
2424
"mariadb": "^3.4.5",
@@ -27,7 +27,7 @@
2727
"pg": "^8.16.3",
2828
"pg-pool": "^3.10.1",
2929
"postgres": "~3.4.7",
30-
"prisma": "^6.14.0",
30+
"prisma": "^6.15.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: ~2.42 GHz
1+
clk: ~3.08 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.20 (x64-linux)
3+
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 526.66 µs/iter 527.54 µs █
10-
(369.51 µs … 3.40 ms) 1.85 ms █
11-
( 0.00 b … 1.88 mb) 30.65 kb ▇██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 352.46 µs/iter 351.84 µs █
14-
(267.01 µs … 1.84 ms) 1.24 ms ▂█▃
15-
( 0.00 b … 128.00 kb) 1.73 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 314.44 µs/iter 316.95 µs █
18-
(248.34 µs … 1.53 ms) 1.14 ms ▅█
19-
( 0.00 b … 1.75 mb) 3.03 kb ███▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 248.34 µs/iter 250.59 µs █
22-
(188.69 µs … 1.53 ms) 990.03 µs ▂█▂
23-
( 0.00 b … 128.00 kb) 1.13 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 483.33 µs/iter 597.23 µs
26-
(28.72 µs … 2.94 ms) 2.07 ms █ ▂█▂
27-
( 0.00 b … 1.00 mb) 12.98 kb █▂▁▁███▆▂▂▁▁▁▁▁▁▁▁▁▁▁
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 █▂▁▂██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 262.40 µs/iter 264.45 µs █
30-
(205.07 µs … 1.36 ms) 1.00 ms
31-
( 0.00 b … 128.00 kb) 797.92 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▅▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 536.44 µs/iter 527.46 µs █
34-
(456.52 µs … 1.40 ms) 1.26 ms █
35-
( 0.00 b … 272.00 kb) 1.95 kb ▅██▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 478.98 µs/iter 473.45 µs █
38-
(345.10 µs … 2.53 ms) 1.64 ms █
39-
( 0.00 b … 896.00 kb) 16.82 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 431.38 µs/iter 430.20 µs █
42-
(320.34 µs … 2.07 ms) 1.54 ms ▂█▃
43-
( 0.00 b … 640.00 kb) 5.94 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

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: ~1.57 GHz
1+
clk: ~3.08 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.20 (x64-linux)
3+
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 522.36 µs/iter 523.57 µs █
10-
(364.39 µs … 2.75 ms) 1.79 ms █
11-
( 0.00 b … 1.13 mb) 31.44 kb ▆██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▇██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 338.69 µs/iter 338.43 µs █
14-
(263.96 µs … 2.18 ms) 1.13 ms
15-
( 0.00 b … 256.00 kb) 1.80 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 306.45 µs/iter 309.75 µs █
18-
(248.50 µs … 1.18 ms) 952.95 µs ▂█▄
19-
( 0.00 b … 384.00 kb) 3.00 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 257.34 µs/iter 255.47 µs █
22-
(193.38 µs … 1.68 ms) 1.01 ms
23-
( 0.00 b … 256.00 kb) 1.23 kb ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 474.22 µs/iter 592.57 µs
26-
(29.30 µs … 2.68 ms) 2.01 ms █▃
27-
( 0.00 b … 896.00 kb) 14.00 kb █▂▁▁▅██▅▂▁▁▁▁▁▁▁▁▁▁▁▁
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 █▂▁▁██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 268.08 µs/iter 268.43 µs █
30-
(207.58 µs … 1.50 ms) 997.51 µs
31-
( 0.00 b … 128.00 kb) 325.64 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 541.42 µs/iter 531.37 µs █
34-
(461.23 µs … 1.62 ms) 1.28 ms █
35-
( 0.00 b … 1.00 mb) 2.88 kb ▇██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▇█▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 483.36 µs/iter 479.18 µs █
38-
(339.95 µs … 2.36 ms) 1.75 ms █
39-
( 0.00 b … 768.00 kb) 19.05 kb ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 438.61 µs/iter 426.86 µs █
42-
(324.08 µs … 2.18 ms) 1.56 ms
43-
( 0.00 b … 1.00 mb) 6.07 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

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.07 GHz
1+
clk: ~1.52 GHz
22
cpu: AMD EPYC 7763 64-Core Processor
3-
runtime: bun 1.2.20 (x64-linux)
3+
runtime: bun 1.2.21 (x64-linux)
44

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 565.49 µs/iter 563.84 µs █
10-
(379.32 µs … 3.07 ms) 2.29 ms █
11-
( 0.00 b … 4.50 mb) 34.96 kb ██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 356.64 µs/iter 344.30 µs
14-
(264.60 µs … 2.81 ms) 1.21 ms
15-
( 0.00 b … 1.25 mb) 5.32 kb ███▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 312.94 µs/iter 310.40 µs █
18-
(251.26 µs … 1.57 ms) 1.12 ms
19-
( 0.00 b … 512.00 kb) 2.90 kb ██▇▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 314.99 µs/iter 283.90 µs █
22-
(212.23 µs … 2.32 ms) 1.25 ms
23-
( 0.00 b … 384.00 kb) 4.06 kb ██▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁
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 ██▁▁▁▁▂▂▂▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 533.52 µs/iter 633.88 µs █
26-
(31.10 µs … 3.21 ms) 2.47 ms
27-
( 0.00 b … 768.00 kb) 10.73 kb █▂▁▁██▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁
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 █▂▁▆██▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 270.93 µs/iter 264.35 µs █
30-
(209.68 µs … 1.67 ms) 1.20 ms
31-
( 0.00 b … 256.00 kb) 438.18 b ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 557.96 µs/iter 538.09 µs █
34-
(458.73 µs … 1.73 ms) 1.58 ms
35-
( 0.00 b … 384.00 kb) 2.13 kb ▆█▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▇▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 505.34 µs/iter 499.59 µs █
38-
(348.45 µs … 2.92 ms) 1.78 ms █
39-
( 0.00 b … 768.00 kb) 13.93 kb ▇██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 438.98 µs/iter 433.73 µs █
42-
(322.80 µs … 2.16 ms) 1.60 ms ▂█
43-
( 0.00 b … 384.00 kb) 4.83 kb ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)