diff options
| author | 2026-03-06 01:48:44 +0800 | |
|---|---|---|
| committer | 2026-03-06 01:48:44 +0800 | |
| commit | 120509f0aad0e945d8e0fc90a822fa904fb70b68 (patch) | |
| tree | 20a541f059591b35795a1a5d3b7dcf48ec711b6a /repository/traversal_bench_test.go | |
| parent | refstore/loose: Fix package-level comment (diff) | |
| signature | No signature | |
repository: Refactor v0.1.55
Diffstat (limited to 'repository/traversal_bench_test.go')
| -rw-r--r-- | repository/traversal_bench_test.go | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/repository/traversal_bench_test.go b/repository/traversal_bench_test.go deleted file mode 100644 index ada0f8d8..00000000 --- a/repository/traversal_bench_test.go +++ /dev/null @@ -1,73 +0,0 @@ -package repository_test - -import ( - "os" - "strings" - "testing" - - "codeberg.org/lindenii/furgit/object" - "codeberg.org/lindenii/furgit/repository" -) - -const benchRepoPathEnv = "FURGIT_BENCH_REPO" - -// BenchmarkTraverseHeadTree measures iterative traversal of HEAD's root tree. -// -// Set FURGIT_BENCH_REPO to a repository path (typically .git or a bare repo) -// before running this benchmark. -func BenchmarkTraverseHeadTree(b *testing.B) { - repoPath := strings.TrimSpace(os.Getenv(benchRepoPathEnv)) - if repoPath == "" { - b.Fatalf("missing %s", benchRepoPathEnv) - } - - root, err := os.OpenRoot(repoPath) - if err != nil { - b.Fatalf("os.OpenRoot(%q): %v", repoPath, err) - } - - b.Cleanup(func() { - _ = root.Close() - }) - - repo, err := repository.Open(root) - if err != nil { - b.Fatalf("repository.Open(root for %q): %v", repoPath, err) - } - - b.Cleanup(func() { - _ = repo.Close() - }) - - head, err := repo.Refs().ResolveFully("HEAD") - if err != nil { - b.Fatalf("ResolveRefFully(HEAD): %v", err) - } - - stored, err := repo.ReadStored(head.ID) - if err != nil { - b.Fatalf("ReadStored(%s): %v", head.ID, err) - } - - commit, ok := stored.Object().(*object.Commit) - if !ok { - b.Fatalf("HEAD object type %T, want *object.Commit", stored.Object()) - } - - b.ReportAllocs() - b.ResetTimer() - - var lastCount int - for b.Loop() { - lastCount, err = traverseTreeIter(repo, commit.Tree) - if err != nil { - b.Fatalf("traverseTreeIter: %v", err) - } - } - - b.StopTimer() - - if lastCount <= 0 { - b.Fatalf("traverseTreeIter count = %d, want > 0", lastCount) - } -} |
