grit://cooking/bench/blame/file@deep-tree
← cookingall benchmarksraw data

grit blame · file @deep-tree

Blame one file on deep-tree: grit blame <path> vs git blame --porcelain <path>

repo: 5,000 files nested across 30–40 directory levels · 5,000 files · 300 commits · 60 refs

$ grit-bench daily --only blame/file@deep-tree2026-10-27 · grit 8dbc58e77 · git version 2.43.0
toolmedianminmaxrunspeak memory
git409 ms407 ms411 ms682 MB
grit112 ms112 ms115 ms660 MB
grit is 3.6× fastermemory: 1.4× less
every timed run (log scale)
git
grit
89 ms518 ms
How it's measured
git runs
$ git blame --porcelain s009e/s7dc8/sd4fe/s7450/sa48e/s6248/s82ce/s3530/saf3e/s9688/s755e/s4bd0/s0cae/s9688/s78ae/s9430/s68de/s9e48/s18be/saa50/s2fce/sa9c8/sa18e/sea30/s8d7e/s7508/s1f1e/s6fd0/s6dee/s7c08/leaf_01320.txt
grit runs
$ grit blame s009e/s7dc8/sd4fe/s7450/sa48e/s6248/s82ce/s3530/saf3e/s9688/s755e/s4bd0/s0cae/s9688/s78ae/s9430/s68de/s9e48/s18be/saa50/s2fce/sa9c8/sa18e/sea30/s8d7e/s7508/s1f1e/s6fd0/s6dee/s7c08/leaf_01320.txt
Where the time goesone extra traced run per tool, outside the timed runs
git · median run 409 ms
index: do_read_index ×2
40 ms
cache_tree: read ×2
34 ms
unpack_trees: unpack_trees
0.2 ms
unpack_trees: traverse_trees
0.1 ms
grit · median run 112 ms
grit.repository.open
0.3 ms
grit.config.load ×2
0.1 ms
grit.pack.index.open
0.0 ms
Every day8 days
dategrit commitgitgritgrit vs gitgrit peak
2026-10-278dbc58e77409 ms112 ms3.6× faster60 MB
2026-10-26c7cf2c443403 ms130 ms3.1× faster65 MB
2026-10-252824ad391417 ms114 ms3.7× faster59 MB
2026-10-24157a05dde427 ms116 ms3.7× faster60 MB
2026-10-23bddf92f86433 ms121 ms3.6× faster61 MB
2026-10-224c131b942416 ms116 ms3.6× faster61 MB
2026-10-21d4844e92a410 ms165 ms2.5× faster117 MB
2026-10-204754ad0b9425 ms159 ms2.7× faster105 MB