Skip to content

Commit 53dece2

Browse files
Commit from GitHub Actions (ORM Benchmark)
1 parent 36dd5df commit 53dece2

18 files changed

+469
-469
lines changed

bun.lockb

-9 Bytes
Binary file not shown.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"typescript": "^5.0.0"
1313
},
1414
"dependencies": {
15-
"@faker-js/faker": "^9.9.0",
15+
"@faker-js/faker": "^10.0.0",
1616
"@mikro-orm/core": "^6.4.16",
1717
"@mikro-orm/mysql": "^6.4.16",
1818
"@mikro-orm/postgresql": "^6.4.16",
@@ -31,6 +31,6 @@
3131
"reflect-metadata": "^0.2.2",
3232
"sequelize": "^6.37.7",
3333
"ts-node": "^10.9.2",
34-
"typeorm": "^0.3.25"
34+
"typeorm": "^0.3.26"
3535
}
3636
}

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

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 506.29 µs/iter 503.76 µs █
10-
(343.15 µs … 2.44 ms) 1.63 ms █
11-
( 0.00 b … 768.00 kb) 29.64 kb ▃███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▇██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 335.58 µs/iter 337.84 µs █
14-
(259.42 µs … 1.75 ms) 1.07 ms ▃█▄
15-
( 0.00 b … 256.00 kb) 1.65 kb ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 302.54 µs/iter 304.56 µs █
18-
(247.45 µs … 1.31 ms) 951.18 µs ▄█▂
19-
( 0.00 b … 384.00 kb) 2.13 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 248.64 µs/iter 251.08 µs █
22-
(186.17 µs … 1.35 ms) 906.03 µs █▆
23-
( 0.00 b … 128.00 kb) 0.98 kb ▆██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 460.97 µs/iter 577.46 µs
26-
(29.55 µs … 3.50 ms) 1.84 ms █ ██
27-
( 0.00 b … 768.00 kb) 12.65 kb █▃▁▁▂██▅▃▂▂▁▁▁▁▁▁▁▁▁
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 █▂▁▁███▆▂▂▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 258.74 µs/iter 261.55 µs █
30-
(203.61 µs … 1.11 ms) 883.53 µs █▅
31-
( 0.00 b … 128.00 kb) 523.45 b ▆██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 532.93 µs/iter 524.34 µs █
34-
(456.23 µs … 1.53 ms) 1.21 ms █
35-
( 0.00 b … 1.13 mb) 3.14 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▅██▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 474.85 µs/iter 466.78 µs █
38-
(341.34 µs … 3.10 ms) 1.59 ms █
39-
( 0.00 b … 1.00 mb) 17.05 kb ███▅▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 423.54 µs/iter 418.32 µs █
42-
(317.77 µs … 1.92 ms) 1.42 ms █▄
43-
( 0.00 b … 896.00 kb) 6.51 kb ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

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

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 514.31 µs/iter 505.80 µs █
10-
(359.63 µs … 2.94 ms) 1.72 ms █▅
11-
( 0.00 b … 2.50 mb) 32.69 kb ▅██▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▆██▆▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 336.51 µs/iter 330.69 µs █
14-
(260.11 µs … 1.56 ms) 1.11 ms
15-
( 0.00 b … 256.00 kb) 2.38 kb ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 305.08 µs/iter 305.23 µs █
18-
(248.54 µs … 1.30 ms) 957.14 µs ▂█
19-
( 0.00 b … 640.00 kb) 3.16 kb ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 247.26 µs/iter 247.82 µs █
22-
(187.96 µs … 1.86 ms) 905.55 µs
23-
( 0.00 b … 128.00 kb) 931.06 b ▇██▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 476.31 µs/iter 598.78 µs
26-
(30.31 µs … 2.94 ms) 1.98 ms █ █▃
27-
( 0.00 b … 768.00 kb) 12.58 kb █▃▁▁▇██▇▂▂▁▁▁▁▁▁▁▁▁▁▁
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 █▂▁▁▅██▅▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 259.35 µs/iter 259.18 µs █
30-
(206.81 µs … 1.30 ms) 979.59 µs
31-
( 0.00 b … 128.00 kb) 419.26 b ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 540.02 µs/iter 529.04 µs █
34-
(461.69 µs … 1.52 ms) 1.27 ms █
35-
( 0.00 b … 128.00 kb) 2.23 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▇██▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 465.19 µs/iter 461.54 µs █
38-
(332.79 µs … 2.81 ms) 1.65 ms █▃
39-
( 0.00 b … 2.88 mb) 17.34 kb ███▅▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 427.67 µs/iter 434.01 µs █
42-
(318.71 µs … 2.04 ms) 1.41 ms ▂█▅
43-
( 0.00 b … 512.00 kb) 4.65 kb ███▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▃▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

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

55
benchmark avg (min … max) p75 / p99 (min … top 1%)
66
------------------------------------------- -------------------------------
77
• MySQL
88
------------------------------------------- -------------------------------
9-
DrizzleORM 560.22 µs/iter 557.36 µs █
10-
(379.30 µs … 2.73 ms) 2.04 ms █
11-
( 0.00 b … 6.13 mb) 35.62 kb ▆██▅▂▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1212

13-
KnexJS 347.42 µs/iter 338.44 µs █
14-
(267.28 µs … 2.45 ms) 1.13 ms
15-
( 0.00 b … 1.00 mb) 5.62 kb ███▃▂▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▄▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
1616

17-
Kysely 308.23 µs/iter 308.78 µs █
18-
(249.87 µs … 1.63 ms) 1.03 ms ██▂
19-
( 0.00 b … 384.00 kb) 2.78 kb ███▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▇▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
2020

21-
Mariadb 297.35 µs/iter 269.13 µs █
22-
(210.00 µs … 1.97 ms) 1.10 ms █
23-
( 0.00 b … 128.00 kb) 3.37 kb ██▅▁▁▁▁▁▁▁▂▂▂▁▁▁▁▁▁▁▁
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 ██▅▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁
2424

25-
MikroORM 463.53 µs/iter 582.58 µs
26-
(29.12 µs … 3.16 ms) 2.05 ms █ █▂
27-
( 0.00 b … 512.00 kb) 11.66 kb █▂▁▁███▅▂▁▁▁▁▁▁▁▁▁▁▁▁
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 █▂▁▁██▅▂▂▁▁▁▁▁▁▁▁▁▁▁▁
2828

29-
MySQL2 262.77 µs/iter 266.54 µs █
30-
(207.05 µs … 1.32 ms) 951.26 µs ▄█
31-
( 0.00 b … 128.00 kb) 636.79 b ███▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▄▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3232

33-
Prisma 542.11 µs/iter 534.15 µs █
34-
(456.91 µs … 1.58 ms) 1.30 ms █
35-
( 0.00 b … 256.00 kb) 2.27 kb ▆██▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ▆█▆▃▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
3636

37-
Sequelize 478.69 µs/iter 476.24 µs █
38-
(341.90 µs … 2.03 ms) 1.59 ms █
39-
( 0.00 b … 5.58 mb) 17.60 kb ██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ██▆▂▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
4040

41-
TypeORM 429.02 µs/iter 424.43 µs █
42-
(319.26 µs … 2.07 ms) 1.40 ms █▄
43-
( 0.00 b … 1.00 mb) 6.57 kb ▆██▅▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
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 ███▄▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

0 commit comments

Comments
 (0)