Performance benchmarks — 2026-04-02 20:51 UTC
| Benchmark | C Git | Grit | Ratio | Visual | Runs |
|---|---|---|---|---|---|
| init | 6.4 ms ±4.3 ms | 1.9 ms ±670.8 µs | 3.4× faster | 369 | |
| commit | 10.2 ms ±1.2 ms | 4.0 ms ±659.3 µs | 2.5× faster | 364 | |
| cat-file-batch | 7.8 ms ±757.4 µs | 4.8 ms ±641.7 µs | 1.6× faster | 533 | |
| show | 7.6 ms ±2.7 ms | 4.8 ms ±1.1 ms | 1.6× faster | 374 | |
| reset | 7.2 ms ±1.2 ms | 4.8 ms ±640.5 µs | 1.5× faster | 138 | |
| diff | 10.8 ms ±928.7 µs | 7.5 ms ±830.1 µs | 1.4× faster | 296 | |
| log-oneline | 5.2 ms ±766.6 µs | 4.4 ms ±673.2 µs | 1.2× faster | 540 | |
| rev-parse | 3.2 ms ±2.9 ms | 2.9 ms ±1.9 ms | 1.1× faster | 735 | |
| branch-list | 5.0 ms ±1.9 ms | 4.5 ms ±822.9 µs | 1.1× faster | 470 | |
| read-tree | 4.8 ms ±818.7 µs | 4.6 ms ±655.5 µs | 1.0× faster | 501 | |
| for-each-ref | 7.1 ms ±700.8 µs | 7.0 ms ±836.9 µs | 1.0× faster | 356 | |
| rev-list | 3.9 ms ±726.1 µs | 3.9 ms ±683.2 µs | 1.0× faster | 487 | |
| hash-object | 5.8 ms ±926.2 µs | 6.0 ms ±813.7 µs | 1.0× slower | 427 | |
| update-ref | 2.7 ms ±560.5 µs | 2.8 ms ±448.9 µs | 1.0× slower | 414 | |
| commit-tree | 2.8 ms ±589.0 µs | 3.0 ms ±633.2 µs | 1.1× slower | 697 | |
| rm | 4.2 ms ±805.9 µs | 4.7 ms ±541.1 µs | 1.1× slower | 168 | |
| show-ref | 4.4 ms ±599.0 µs | 4.9 ms ±633.1 µs | 1.1× slower | 528 | |
| log-format | 4.0 ms ±583.0 µs | 4.5 ms ±613.8 µs | 1.1× slower | 504 | |
| merge-base | 3.6 ms ±598.4 µs | 4.1 ms ±603.5 µs | 1.1× slower | 604 | |
| tag-create | 2.5 ms ±461.1 µs | 3.0 ms ±500.0 µs | 1.2× slower | 521 | |
| mv | 2.8 ms ±408.3 µs | 3.4 ms ±513.6 µs | 1.2× slower | 143 | |
| tag-list | 4.8 ms ±631.3 µs | 5.9 ms ±661.5 µs | 1.2× slower | 494 | |
| diff-tree | 2.8 ms ±609.6 µs | 3.4 ms ±1.0 ms | 1.2× slower | 822 | |
| check-ignore | 2.4 ms ±521.9 µs | 3.0 ms ±592.8 µs | 1.2× slower | 670 | |
| checkout | 8.3 ms ±1.5 ms | 10.3 ms ±1.0 ms | 1.2× slower | 172 | |
| write-tree | 2.5 ms ±743.7 µs | 3.2 ms ±617.9 µs | 1.3× slower | 579 | |
| diff-files | 17.2 ms ±5.3 ms | 21.6 ms ±8.0 ms | 1.3× slower | 305 | |
| symbolic-ref | 2.1 ms ±570.1 µs | 2.6 ms ±568.1 µs | 1.3× slower | 813 | |
| checkout-index | 2.6 ms ±495.4 µs | 3.3 ms ±616.5 µs | 1.3× slower | 478 | |
| cat-file | 2.2 ms ±550.1 µs | 3.0 ms ±654.1 µs | 1.4× slower | 880 | |
| ls-tree | 3.4 ms ±609.3 µs | 4.8 ms ±820.4 µs | 1.4× slower | 474 | |
| config-list | 2.3 ms ±565.6 µs | 3.3 ms ±575.7 µs | 1.4× slower | 754 | |
| stripspace | 2.0 ms ±507.1 µs | 2.9 ms ±540.2 µs | 1.5× slower | 786 | |
| count-objects | 12.3 ms ±1.1 ms | 18.2 ms ±1.6 ms | 1.5× slower | 157 | |
| ls-files | 2.9 ms ±660.0 µs | 4.4 ms ±824.2 µs | 1.5× slower | 422 | |
| name-rev | 2.3 ms ±2.2 ms | 3.5 ms ±1.9 ms | 1.6× slower | 587 | |
| status | 6.4 ms ±1.4 ms | 12.2 ms ±1.3 ms | 1.9× slower | 203 | |
| status-clean | 6.1 ms ±1.4 ms | 11.8 ms ±1.3 ms | 1.9× slower | 245 | |
| add | 6.4 ms ±2.7 ms | 13.0 ms ±1.2 ms | 2.0× slower | 130 | |
| diff-index | 7.5 ms ±696.9 µs | 16.2 ms ±1.5 ms | 2.2× slower | 188 |