Jakub Narębski <jnareb@xxxxxxxxx> writes: [...] >> @@ -144,8 +144,9 @@ static int commit_gen_cmp(const void *va, const void *vb) >> const struct commit *a = *(const struct commit **)va; >> const struct commit *b = *(const struct commit **)vb; >> >> - uint32_t generation_a = commit_graph_generation(a); >> - uint32_t generation_b = commit_graph_generation(b); >> + uint32_t generation_a = commit_graph_data_at(a)->generation; >> + uint32_t generation_b = commit_graph_data_at(b)->generation; >> + >> /* lower generation commits first */ >> if (generation_a < generation_b) >> return -1; NOTE: One more thing: we would want to check if corrected commit date (generation number v2) or topological level (generation number v1) is better for this purpose, that is gives better performance. The commit 3d11275505 (commit-graph: examine commits by generation number) which introduced using commit_gen_cmp when writing commit graph when finding commits via `--reachable` flags describes the following performance improvement: On the Linux kernel repository, this change reduced the computation time for 'git commit-graph write --reachable --changed-paths' from 3m00s to 1m37s. We would probably want time for no sorting, for sorting by generation number v2, and for sorting by topological level (generation number v1) for the same or similar case. Best, -- Jakub Narębski