Skip to content

Commit 0c359b8

Browse files
authored
chore: update benchmarks (#101)
1 parent 3d85978 commit 0c359b8

File tree

3 files changed

+108
-84
lines changed

3 files changed

+108
-84
lines changed

benchmarks/README.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,45 +24,53 @@ just benchmarks
2424
Tested with MacBook Pro (14-inch, M2 Pro, 2023).
2525

2626
```
27-
✓ index.bench.ts > open 1210ms
28-
name hz min max mean p75 p99 p995 p999 rme samples
29-
· es-git 11,536.94 0.0673 14.4495 0.0867 0.0848 0.1633 0.2256 0.3882 ±5.69% 5769
30-
· nodegit 12,511.07 0.0691 7.7552 0.0799 0.0801 0.1040 0.1179 0.1825 ±4.18% 6256 fastest
31-
32-
✓ index.bench.ts > rev-parse 1817ms
33-
name hz min max mean p75 p99 p995 p999 rme samples
34-
· es-git 6,530.94 0.1336 14.7510 0.1531 0.1514 0.1848 0.1974 0.2353 ±5.73% 3266 fastest
35-
· nodegit 5,916.49 0.1488 5.6818 0.1690 0.1695 0.2487 0.2610 0.3844 ±2.89% 2959
36-
· child_process 91.4863 10.1801 12.3195 10.9306 11.1550 12.3195 12.3195 12.3195 ±1.32% 46 slowest
37-
38-
✓ index.bench.ts > revwalk 1817ms
39-
name hz min max mean p75 p99 p995 p999 rme samples
40-
· es-git 838.67 1.1241 5.0922 1.1924 1.1908 1.3663 1.4037 5.0922 ±1.58% 420 fastest
41-
· nodegit 792.75 1.2143 1.6610 1.2614 1.2679 1.4472 1.5426 1.6610 ±0.35% 397
42-
· child_process 73.8698 12.3492 26.3306 13.5373 13.7976 26.3306 26.3306 26.3306 ±5.76% 37 slowest
43-
44-
✓ index.bench.ts > get commit 1812ms
45-
name hz min max mean p75 p99 p995 p999 rme samples
46-
· es-git 7,411.15 0.1176 0.5647 0.1349 0.1375 0.1862 0.2058 0.2557 ±0.36% 3706 fastest
47-
· nodegit 5,922.63 0.1333 29.4811 0.1688 0.1620 0.2758 0.3105 0.3711 ±11.51% 2962
48-
· child_process 71.8030 12.6222 17.5353 13.9270 14.2632 17.5353 17.5353 17.5353 ±2.86% 36 slowest
27+
✓ index.bench.ts > open 1815ms
28+
name hz min max mean p75 p99 p995 p999 rme samples
29+
· es-git 11,590.57 0.0730 13.8912 0.0863 0.0863 0.1225 0.1327 0.2043 ±5.42% 5796
30+
· nodegit 11,813.89 0.0704 7.5226 0.0846 0.0835 0.1289 0.1521 0.2398 ±4.22% 5908 fastest
31+
· @napi-rs/simple-git 2,550.28 0.2557 4.3442 0.3921 0.4530 0.6906 0.7774 2.5094 ±2.52% 1276 slowest
32+
33+
✓ index.bench.ts > rev-parse 2426ms
34+
name hz min max mean p75 p99 p995 p999 rme samples
35+
· es-git 6,356.94 0.1370 14.3807 0.1573 0.1550 0.2074 0.2238 0.2840 ±5.58% 3179 fastest
36+
· nodegit 5,688.24 0.1535 13.0313 0.1758 0.1749 0.2278 0.2493 0.3825 ±5.31% 2845
37+
· @napi-rs/simple-git 2,511.09 0.2856 1.0381 0.3982 0.4885 0.7190 0.7559 0.8119 ±1.75% 1256
38+
· child_process 88.5663 10.7419 12.6293 11.2910 11.3945 12.6293 12.6293 12.6293 ±1.08% 45 slowest
39+
40+
✓ index.bench.ts > revwalk 2448ms
41+
name hz min max mean p75 p99 p995 p999 rme samples
42+
· es-git 841.62 1.1206 11.6329 1.1882 1.1721 1.4188 1.5288 11.6329 ±4.12% 421 fastest
43+
· nodegit 792.28 1.2102 1.8455 1.2622 1.2793 1.5123 1.7268 1.8455 ±0.46% 397
44+
· @napi-rs/simple-git 650.71 1.3304 2.1619 1.5368 1.6075 2.1102 2.1270 2.1619 ±1.42% 326
45+
· child_process 74.5720 12.9525 14.0355 13.4099 13.5443 14.0355 14.0355 14.0355 ±0.64% 38 slowest
46+
47+
✓ index.bench.ts > get commit 2451ms
48+
name hz min max mean p75 p99 p995 p999 rme samples
49+
· es-git 7,628.10 0.1154 1.2045 0.1311 0.1328 0.1821 0.1898 0.3014 ±0.51% 3815 fastest
50+
· nodegit 6,723.92 0.1314 11.6206 0.1487 0.1474 0.2221 0.2447 0.3603 ±4.52% 3362
51+
· @napi-rs/simple-git 2,359.88 0.3026 0.7248 0.4238 0.5073 0.6490 0.6592 0.7231 ±1.42% 1180
52+
· child_process 78.9937 12.1418 14.0038 12.6592 12.7804 14.0038 14.0038 14.0038 ±0.96% 40 slowest
4953
```
5054

5155
Summary:
5256

5357
```
5458
nodegit - index.bench.ts > open
55-
1.08x faster than es-git
59+
1.02x faster than es-git
60+
4.63x faster than @napi-rs/simple-git
5661
5762
es-git - index.bench.ts > rev-parse
58-
1.10x faster than nodegit
59-
71.39x faster than child_process
63+
1.12x faster than nodegit
64+
2.53x faster than @napi-rs/simple-git
65+
71.78x faster than child_process
6066
6167
es-git - index.bench.ts > revwalk
6268
1.06x faster than nodegit
63-
11.35x faster than child_process
69+
1.29x faster than @napi-rs/simple-git
70+
11.29x faster than child_process
6471
6572
es-git - index.bench.ts > get commit
66-
1.25x faster than nodegit
67-
103.22x faster than child_process
73+
1.13x faster than nodegit
74+
3.23x faster than @napi-rs/simple-git
75+
96.57x faster than child_process
6876
```

docs/ko/performance.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,53 @@
33
테스트 환경은 MacBook Pro (14인치, M2 Pro, 2023)예요. [벤치마크](https://github.com/toss/es-git/blob/main/benchmarks) 코드를 참고하세요.
44

55
```
6-
✓ index.bench.ts > open 1210ms
7-
name hz min max mean p75 p99 p995 p999 rme samples
8-
· es-git 11,536.94 0.0673 14.4495 0.0867 0.0848 0.1633 0.2256 0.3882 ±5.69% 5769
9-
· nodegit 12,511.07 0.0691 7.7552 0.0799 0.0801 0.1040 0.1179 0.1825 ±4.18% 6256 fastest
10-
11-
✓ index.bench.ts > rev-parse 1817ms
12-
name hz min max mean p75 p99 p995 p999 rme samples
13-
· es-git 6,530.94 0.1336 14.7510 0.1531 0.1514 0.1848 0.1974 0.2353 ±5.73% 3266 fastest
14-
· nodegit 5,916.49 0.1488 5.6818 0.1690 0.1695 0.2487 0.2610 0.3844 ±2.89% 2959
15-
· child_process 91.4863 10.1801 12.3195 10.9306 11.1550 12.3195 12.3195 12.3195 ±1.32% 46 slowest
16-
17-
✓ index.bench.ts > revwalk 1817ms
18-
name hz min max mean p75 p99 p995 p999 rme samples
19-
· es-git 838.67 1.1241 5.0922 1.1924 1.1908 1.3663 1.4037 5.0922 ±1.58% 420 fastest
20-
· nodegit 792.75 1.2143 1.6610 1.2614 1.2679 1.4472 1.5426 1.6610 ±0.35% 397
21-
· child_process 73.8698 12.3492 26.3306 13.5373 13.7976 26.3306 26.3306 26.3306 ±5.76% 37 slowest
22-
23-
✓ index.bench.ts > get commit 1812ms
24-
name hz min max mean p75 p99 p995 p999 rme samples
25-
· es-git 7,411.15 0.1176 0.5647 0.1349 0.1375 0.1862 0.2058 0.2557 ±0.36% 3706 fastest
26-
· nodegit 5,922.63 0.1333 29.4811 0.1688 0.1620 0.2758 0.3105 0.3711 ±11.51% 2962
27-
· child_process 71.8030 12.6222 17.5353 13.9270 14.2632 17.5353 17.5353 17.5353 ±2.86% 36 slowest
6+
✓ index.bench.ts > open 1815ms
7+
name hz min max mean p75 p99 p995 p999 rme samples
8+
· es-git 11,590.57 0.0730 13.8912 0.0863 0.0863 0.1225 0.1327 0.2043 ±5.42% 5796
9+
· nodegit 11,813.89 0.0704 7.5226 0.0846 0.0835 0.1289 0.1521 0.2398 ±4.22% 5908 fastest
10+
· @napi-rs/simple-git 2,550.28 0.2557 4.3442 0.3921 0.4530 0.6906 0.7774 2.5094 ±2.52% 1276 slowest
11+
12+
✓ index.bench.ts > rev-parse 2426ms
13+
name hz min max mean p75 p99 p995 p999 rme samples
14+
· es-git 6,356.94 0.1370 14.3807 0.1573 0.1550 0.2074 0.2238 0.2840 ±5.58% 3179 fastest
15+
· nodegit 5,688.24 0.1535 13.0313 0.1758 0.1749 0.2278 0.2493 0.3825 ±5.31% 2845
16+
· @napi-rs/simple-git 2,511.09 0.2856 1.0381 0.3982 0.4885 0.7190 0.7559 0.8119 ±1.75% 1256
17+
· child_process 88.5663 10.7419 12.6293 11.2910 11.3945 12.6293 12.6293 12.6293 ±1.08% 45 slowest
18+
19+
✓ index.bench.ts > revwalk 2448ms
20+
name hz min max mean p75 p99 p995 p999 rme samples
21+
· es-git 841.62 1.1206 11.6329 1.1882 1.1721 1.4188 1.5288 11.6329 ±4.12% 421 fastest
22+
· nodegit 792.28 1.2102 1.8455 1.2622 1.2793 1.5123 1.7268 1.8455 ±0.46% 397
23+
· @napi-rs/simple-git 650.71 1.3304 2.1619 1.5368 1.6075 2.1102 2.1270 2.1619 ±1.42% 326
24+
· child_process 74.5720 12.9525 14.0355 13.4099 13.5443 14.0355 14.0355 14.0355 ±0.64% 38 slowest
25+
26+
✓ index.bench.ts > get commit 2451ms
27+
name hz min max mean p75 p99 p995 p999 rme samples
28+
· es-git 7,628.10 0.1154 1.2045 0.1311 0.1328 0.1821 0.1898 0.3014 ±0.51% 3815 fastest
29+
· nodegit 6,723.92 0.1314 11.6206 0.1487 0.1474 0.2221 0.2447 0.3603 ±4.52% 3362
30+
· @napi-rs/simple-git 2,359.88 0.3026 0.7248 0.4238 0.5073 0.6490 0.6592 0.7231 ±1.42% 1180
31+
· child_process 78.9937 12.1418 14.0038 12.6592 12.7804 14.0038 14.0038 14.0038 ±0.96% 40 slowest
2832
```
2933

3034
요약:
3135

3236
```
3337
nodegit - index.bench.ts > open
34-
1.08x faster than es-git
38+
1.02x faster than es-git
39+
4.63x faster than @napi-rs/simple-git
3540
3641
es-git - index.bench.ts > rev-parse
37-
1.10x faster than nodegit
38-
71.39x faster than child_process
42+
1.12x faster than nodegit
43+
2.53x faster than @napi-rs/simple-git
44+
71.78x faster than child_process
3945
4046
es-git - index.bench.ts > revwalk
4147
1.06x faster than nodegit
42-
11.35x faster than child_process
48+
1.29x faster than @napi-rs/simple-git
49+
11.29x faster than child_process
4350
4451
es-git - index.bench.ts > get commit
45-
1.25x faster than nodegit
46-
103.22x faster than child_process
52+
1.13x faster than nodegit
53+
3.23x faster than @napi-rs/simple-git
54+
96.57x faster than child_process
4755
```

docs/performance.md

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,53 @@ Tested with MacBook Pro (14-inch, M2 Pro, 2023). Refer to our [benchmark](https:
44

55

66
```
7-
✓ index.bench.ts > open 1210ms
8-
name hz min max mean p75 p99 p995 p999 rme samples
9-
· es-git 11,536.94 0.0673 14.4495 0.0867 0.0848 0.1633 0.2256 0.3882 ±5.69% 5769
10-
· nodegit 12,511.07 0.0691 7.7552 0.0799 0.0801 0.1040 0.1179 0.1825 ±4.18% 6256 fastest
11-
12-
✓ index.bench.ts > rev-parse 1817ms
13-
name hz min max mean p75 p99 p995 p999 rme samples
14-
· es-git 6,530.94 0.1336 14.7510 0.1531 0.1514 0.1848 0.1974 0.2353 ±5.73% 3266 fastest
15-
· nodegit 5,916.49 0.1488 5.6818 0.1690 0.1695 0.2487 0.2610 0.3844 ±2.89% 2959
16-
· child_process 91.4863 10.1801 12.3195 10.9306 11.1550 12.3195 12.3195 12.3195 ±1.32% 46 slowest
17-
18-
✓ index.bench.ts > revwalk 1817ms
19-
name hz min max mean p75 p99 p995 p999 rme samples
20-
· es-git 838.67 1.1241 5.0922 1.1924 1.1908 1.3663 1.4037 5.0922 ±1.58% 420 fastest
21-
· nodegit 792.75 1.2143 1.6610 1.2614 1.2679 1.4472 1.5426 1.6610 ±0.35% 397
22-
· child_process 73.8698 12.3492 26.3306 13.5373 13.7976 26.3306 26.3306 26.3306 ±5.76% 37 slowest
23-
24-
✓ index.bench.ts > get commit 1812ms
25-
name hz min max mean p75 p99 p995 p999 rme samples
26-
· es-git 7,411.15 0.1176 0.5647 0.1349 0.1375 0.1862 0.2058 0.2557 ±0.36% 3706 fastest
27-
· nodegit 5,922.63 0.1333 29.4811 0.1688 0.1620 0.2758 0.3105 0.3711 ±11.51% 2962
28-
· child_process 71.8030 12.6222 17.5353 13.9270 14.2632 17.5353 17.5353 17.5353 ±2.86% 36 slowest
7+
✓ index.bench.ts > open 1815ms
8+
name hz min max mean p75 p99 p995 p999 rme samples
9+
· es-git 11,590.57 0.0730 13.8912 0.0863 0.0863 0.1225 0.1327 0.2043 ±5.42% 5796
10+
· nodegit 11,813.89 0.0704 7.5226 0.0846 0.0835 0.1289 0.1521 0.2398 ±4.22% 5908 fastest
11+
· @napi-rs/simple-git 2,550.28 0.2557 4.3442 0.3921 0.4530 0.6906 0.7774 2.5094 ±2.52% 1276 slowest
12+
13+
✓ index.bench.ts > rev-parse 2426ms
14+
name hz min max mean p75 p99 p995 p999 rme samples
15+
· es-git 6,356.94 0.1370 14.3807 0.1573 0.1550 0.2074 0.2238 0.2840 ±5.58% 3179 fastest
16+
· nodegit 5,688.24 0.1535 13.0313 0.1758 0.1749 0.2278 0.2493 0.3825 ±5.31% 2845
17+
· @napi-rs/simple-git 2,511.09 0.2856 1.0381 0.3982 0.4885 0.7190 0.7559 0.8119 ±1.75% 1256
18+
· child_process 88.5663 10.7419 12.6293 11.2910 11.3945 12.6293 12.6293 12.6293 ±1.08% 45 slowest
19+
20+
✓ index.bench.ts > revwalk 2448ms
21+
name hz min max mean p75 p99 p995 p999 rme samples
22+
· es-git 841.62 1.1206 11.6329 1.1882 1.1721 1.4188 1.5288 11.6329 ±4.12% 421 fastest
23+
· nodegit 792.28 1.2102 1.8455 1.2622 1.2793 1.5123 1.7268 1.8455 ±0.46% 397
24+
· @napi-rs/simple-git 650.71 1.3304 2.1619 1.5368 1.6075 2.1102 2.1270 2.1619 ±1.42% 326
25+
· child_process 74.5720 12.9525 14.0355 13.4099 13.5443 14.0355 14.0355 14.0355 ±0.64% 38 slowest
26+
27+
✓ index.bench.ts > get commit 2451ms
28+
name hz min max mean p75 p99 p995 p999 rme samples
29+
· es-git 7,628.10 0.1154 1.2045 0.1311 0.1328 0.1821 0.1898 0.3014 ±0.51% 3815 fastest
30+
· nodegit 6,723.92 0.1314 11.6206 0.1487 0.1474 0.2221 0.2447 0.3603 ±4.52% 3362
31+
· @napi-rs/simple-git 2,359.88 0.3026 0.7248 0.4238 0.5073 0.6490 0.6592 0.7231 ±1.42% 1180
32+
· child_process 78.9937 12.1418 14.0038 12.6592 12.7804 14.0038 14.0038 14.0038 ±0.96% 40 slowest
2933
```
3034

3135
Summary:
3236

3337
```
3438
nodegit - index.bench.ts > open
35-
1.08x faster than es-git
39+
1.02x faster than es-git
40+
4.63x faster than @napi-rs/simple-git
3641
3742
es-git - index.bench.ts > rev-parse
38-
1.10x faster than nodegit
39-
71.39x faster than child_process
43+
1.12x faster than nodegit
44+
2.53x faster than @napi-rs/simple-git
45+
71.78x faster than child_process
4046
4147
es-git - index.bench.ts > revwalk
4248
1.06x faster than nodegit
43-
11.35x faster than child_process
49+
1.29x faster than @napi-rs/simple-git
50+
11.29x faster than child_process
4451
4552
es-git - index.bench.ts > get commit
46-
1.25x faster than nodegit
47-
103.22x faster than child_process
53+
1.13x faster than nodegit
54+
3.23x faster than @napi-rs/simple-git
55+
96.57x faster than child_process
4856
```

0 commit comments

Comments
 (0)