Performance
Tested with MacBook Pro (14-inch, M2 Pro, 2023). Refer to our benchmark code.
✓ index.bench.ts > open 1210ms
name hz min max mean p75 p99 p995 p999 rme samples
· es-git 11,536.94 0.0673 14.4495 0.0867 0.0848 0.1633 0.2256 0.3882 ±5.69% 5769
· nodegit 12,511.07 0.0691 7.7552 0.0799 0.0801 0.1040 0.1179 0.1825 ±4.18% 6256 fastest
✓ index.bench.ts > rev-parse 1817ms
name hz min max mean p75 p99 p995 p999 rme samples
· es-git 6,530.94 0.1336 14.7510 0.1531 0.1514 0.1848 0.1974 0.2353 ±5.73% 3266 fastest
· nodegit 5,916.49 0.1488 5.6818 0.1690 0.1695 0.2487 0.2610 0.3844 ±2.89% 2959
· child_process 91.4863 10.1801 12.3195 10.9306 11.1550 12.3195 12.3195 12.3195 ±1.32% 46 slowest
✓ index.bench.ts > revwalk 1817ms
name hz min max mean p75 p99 p995 p999 rme samples
· es-git 838.67 1.1241 5.0922 1.1924 1.1908 1.3663 1.4037 5.0922 ±1.58% 420 fastest
· nodegit 792.75 1.2143 1.6610 1.2614 1.2679 1.4472 1.5426 1.6610 ±0.35% 397
· child_process 73.8698 12.3492 26.3306 13.5373 13.7976 26.3306 26.3306 26.3306 ±5.76% 37 slowest
✓ index.bench.ts > get commit 1812ms
name hz min max mean p75 p99 p995 p999 rme samples
· es-git 7,411.15 0.1176 0.5647 0.1349 0.1375 0.1862 0.2058 0.2557 ±0.36% 3706 fastest
· nodegit 5,922.63 0.1333 29.4811 0.1688 0.1620 0.2758 0.3105 0.3711 ±11.51% 2962
· child_process 71.8030 12.6222 17.5353 13.9270 14.2632 17.5353 17.5353 17.5353 ±2.86% 36 slowest
Summary:
nodegit - index.bench.ts > open
1.08x faster than es-git
es-git - index.bench.ts > rev-parse
1.10x faster than nodegit
71.39x faster than child_process
es-git - index.bench.ts > revwalk
1.06x faster than nodegit
11.35x faster than child_process
es-git - index.bench.ts > get commit
1.25x faster than nodegit
103.22x faster than child_process