Performance of different git tools cloning a fairly large repo |
|
|
|
|
|
Tested on FreeBSD 14.1 (ufs2 backed memory disk without compression) cloning FreeBSD’s ports repository from codeberg.org |
|
|
|
|
|
Ryzen 7900, 128Gb RAM, 250mbit connection |
|
|
|
|
|
Everything is compiled from “scratch” with CPUTYPE set to znver4 |
|
|
|
|
|
|
|
|
|
|
|
Application |
|
git (2.45.2) |
Gitoxide (0.37.0) |
got/Game of Trees (0.101) |
Jujitsu/jj (0.19.0) |
|
|
|
|
|
|
Language |
|
C |
Rust |
C |
Rust |
Backend (if known) |
|
Internal |
Internal |
Internal |
libgit2 |
|
|
|
|
|
|
Time |
|
|
|
|
|
real |
|
3m31.89s |
1m59.08s |
1h28m20.01s |
5m54.43s |
user |
|
4m23.68s |
1m9.86s |
1h27m45.98s |
3m38.91s |
sys |
|
43.04s |
15.96s |
26.20s |
26.99s |
|
|
|
|
|
|
Memory |
|
|
|
|
|
maximum resident set size |
|
2058908 |
3591756 |
3221692 |
2036628 |
average shared memory size |
|
2802 |
10032 |
101 |
9384 |
average unshared data size |
|
224 |
27 |
68 |
20 |
average unshared stack size |
|
128 |
254 |
128 |
256 |
page reclaims |
|
605456 |
734911 |
999628 |
586084 |
page faults |
|
0 |
127 |
3 |
76 |
swaps |
|
0 |
0 |
0 |
0 |
block input operations |
|
63 |
2 |
0 |
29 |
block output operations |
|
3166 |
3851 |
14604 |
1632 |
messages sent |
|
186771 |
236 |
147698 |
8 |
messages received |
|
887549 |
381528 |
562204 |
150954 |
signals received |
|
192 |
0 |
0 |
0 |
voluntary context switches |
|
6838379 |
593280 |
202688 |
10822 |
involuntary context switches |
|
1072 |
4836 |
83135 |
3290 |
|
|
|
|
|
|
Notes |
|
|
|
Uses one thread for fetching, interation of commits is extremely slow |
Doesn’t seem to use compression for downloads |