[08/08] add benchmarks and graph internals documentation for migrated pipeline#102
Open
mjc wants to merge 65 commits into
Open
[08/08] add benchmarks and graph internals documentation for migrated pipeline#102mjc wants to merge 65 commits into
mjc wants to merge 65 commits into
Conversation
(cherry picked from commit 122fdf1)
Wire a no-TUI entry point that loads the repo, skips workdir status to avoid case-colliding paths on case-insensitive filesystems, waits for the graph walker to finish, prints the commit count, and shuts down background tasks.
(cherry picked from commit 4b30648)
(cherry picked from commit 427dce7)
(cherry picked from commit 9854674)
(cherry picked from commit 6ce842f)
(cherry picked from commit dac26d1)
(cherry picked from commit 77e669a)
(cherry picked from commit 1484548)
(cherry picked from commit f4c985d)
(cherry picked from commit 4461f87)
(cherry picked from commit 4ccd4cc)
(cherry picked from commit 28598c0)
(cherry picked from commit 3ddc288)
(cherry picked from commit dc4e23c)
(cherry picked from commit 9b607eb)
Skip commit diff refresh for the uncommitted pseudo-row when the first GraphWindow is applied, and add a regression test that reproduces the spike-06 TUI crash.
(cherry picked from commit c244fc5)
(cherry picked from commit 054ee9d)
(cherry picked from commit a9c3557)
(cherry picked from commit dd21a2b)
(cherry picked from commit 44f4c46)
(cherry picked from commit 30c9363)
(cherry picked from commit b99b0e9)
(cherry picked from commit 7b0b990)
(cherry picked from commit 7023fa2)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on
mjc/gitoxide-spike-07-draw-status.Why this PR exists:
GRAPH.MDso the documented graph model matches the final migrated implementation.What changed:
GRAPH.MDto describe the current graph pipeline.Chunkthroughis_flattened.compressed_parentsside list.InsertRemoveReplaceTruncateReplaceAndTruncateGraphSnapshot { lanes, compressed_parents }to lane snapshots.git2::Oidtogix::ObjectIdGraphRowfixture construction for the current fields and collection typesAlgorithm difference:
Performance story:
Correctness gate:
GRAPH.MDshould match the actual graph implementation after the migration stack.compressed_parents.Benchmark Results for the whole stack
Command shape:
hyperfine --warmup 5 './target/release/guitar /home/mjc/src/linux --exit-when-graph-complete'.CPU: M1 MacBook Pro 16GB
main2:37.281.00x118.00s7.88s80%01-gix-boundary1:43.991.51x97.85s2.33s96%02-gix-oids1:14.262.12x65.41s2.17s91%03-graph-walker5.816s27.05x1.82s0.74s43%04-queries-readonly3.812s41.26x1.47s0.42s49%05-actions-network1.993s78.91x1.47s0.26s87%06-app-integration1.826s86.13x1.51s0.10s88%06-app-integration1.879s83.70x1.44s0.11s82%07-draw-status1.618s97.21x1.36s0.08s89%CPU: 5950x Linux/ZFS
main1:39.241.00x96.16s1.72s98%01-gix-boundary1:46.410.93x101.28s3.82s98%02-gix-oids1:10.851.40x69.07s1.78s100%03-graph-walker2.094s47.39x1.59s0.55s102%04-queries-readonly1.856s53.47x1.58s0.46s110%05-actions-network1.862s53.30x1.60s0.49s112%06-app-integration1.639s60.55x1.40s0.22s98%07-draw-status1.632s60.81x1.34s0.18s93%08-bench-docs1.629s60.92x1.36s0.19s94%Memory: 5950x Linux/ZFS
main1.26G2.81G01-gix-boundary1.26G2.82G02-gix-oids1.38G2.63G03-graph-walker455.13M1.15G04-queries-readonly436.12M977.18M05-actions-network436.12M978.61M06-app-integration419.89M853.30M07-draw-status419.89M916.59M08-bench-docs419.89M988.71M