MCPcopy
hub / github.com/google/gvisor / benchmarkAddFindRemoveRandom

Function benchmarkAddFindRemoveRandom

pkg/segment/test/segment_test.go:749–769  ·  view source on GitHub ↗
(b *testing.B, size int)

Source from the content-addressed store, hash-verified

747}
748
749func benchmarkAddFindRemoveRandom(b *testing.B, size int) {
750 order := rand.Perm(size)
751
752 b.ResetTimer()
753 for n := 0; n < b.N; n++ {
754 var s Set
755 for _, i := range order {
756 s.InsertWithoutMergingRange(Range{i, i + 1}, i)
757 }
758 for _, i := range order {
759 seg := s.FindSegment(i)
760 if !seg.Ok() {
761 b.Fatalf("Failed to find segment %d", i)
762 }
763 s.Remove(seg)
764 }
765 if !s.IsEmpty() {
766 b.Fatalf("Set not empty after all removals:\n%v", &s)
767 }
768 }
769}
770
771// Although we don't generally expect our segment sets to get this big, they're
772// useful for emulating the effect of cache pressure.

Callers 1

Calls 6

FindSegmentMethod · 0.95
RemoveMethod · 0.95
IsEmptyMethod · 0.95
FatalfMethod · 0.65
OkMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…