MCPcopy
hub / github.com/go-git/go-git / BenchmarkPackfileIter

Function BenchmarkPackfileIter

storage/filesystem/object_test.go:455–500  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

453}
454
455func BenchmarkPackfileIter(b *testing.B) {
456 defer fixtures.Clean()
457
458 for _, f := range fixtures.ByTag(".git") {
459 b.Run(f.URL, func(b *testing.B) {
460 fs := f.DotGit()
461 dg := dotgit.New(fs)
462
463 for i := 0; i < b.N; i++ {
464 for _, t := range objectTypes {
465 ph, err := dg.ObjectPacks()
466 if err != nil {
467 b.Fatal(err)
468 }
469
470 for _, h := range ph {
471 f, err := dg.ObjectPack(h)
472 if err != nil {
473 b.Fatal(err)
474 }
475
476 idxf, err := dg.ObjectPackIdx(h)
477 if err != nil {
478 b.Fatal(err)
479 }
480
481 iter, err := NewPackfileIter(fs, f, idxf, t, false, 0)
482 if err != nil {
483 b.Fatal(err)
484 }
485
486 err = iter.ForEach(func(o plumbing.EncodedObject) error {
487 if o.Type() != t {
488 b.Errorf("expecting %s, got %s", t, o.Type())
489 }
490 return nil
491 })
492 if err != nil {
493 b.Fatal(err)
494 }
495 }
496 }
497 }
498 })
499 }
500}
501
502func BenchmarkPackfileIterReadContent(b *testing.B) {
503 defer fixtures.Clean()

Callers

nothing calls this directly

Calls 8

NewFunction · 0.92
NewPackfileIterFunction · 0.85
CleanMethod · 0.80
ObjectPackMethod · 0.80
ObjectPackIdxMethod · 0.80
ObjectPacksMethod · 0.65
ForEachMethod · 0.65
TypeMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…