Skip to content

Commit c4ce08e

Browse files
committed
all: use testing.B.Loop for benchmark iteration
Use testing.B.Loop instead of a manual `for range b.N` loop. This also removes the need to use testing.B.ResetTimer. See golang/go#61515 for details. Generated using modernize by running: go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./... and committing the relevant changes. Signed-off-by: Tobias Klauser <[email protected]>
1 parent 27047c1 commit c4ce08e

File tree

68 files changed

+189
-252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+189
-252
lines changed

daemon/cmd/fqdn_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,10 @@ func BenchmarkNotifyOnDNSMsg(b *testing.B) {
173173
}
174174

175175
b.ReportAllocs()
176-
b.ResetTimer()
176+
177177
// Simulate parallel DNS responses from the upstream DNS for cilium.io and
178178
// ebpf.io, done by every endpoint.
179-
for i := 0; i < b.N; i++ {
179+
for b.Loop() {
180180
for _, ep := range endpoints {
181181
wg.Add(1)
182182
go func() {

pkg/bgpv1/agent/annotations_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ func BenchmarkErrNotVRouterAnnoError(b *testing.B) {
160160
a: "foo error",
161161
}
162162
b.ReportAllocs()
163-
b.ResetTimer()
164-
for i := 0; i < b.N; i++ {
163+
164+
for b.Loop() {
165165
_ = e.Error()
166166
}
167167
}
@@ -171,8 +171,8 @@ func BenchmarkErrErrNoASNAnno(b *testing.B) {
171171
a: "foo error",
172172
}
173173
b.ReportAllocs()
174-
b.ResetTimer()
175-
for i := 0; i < b.N; i++ {
174+
175+
for b.Loop() {
176176
_ = e.Error()
177177
}
178178
}
@@ -184,8 +184,8 @@ func BenchmarkErrASNAnno(b *testing.B) {
184184
anno: "foo anno",
185185
}
186186
b.ReportAllocs()
187-
b.ResetTimer()
188-
for i := 0; i < b.N; i++ {
187+
188+
for b.Loop() {
189189
_ = e.Error()
190190
}
191191
}

pkg/bpf/map_linux_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -928,9 +928,7 @@ func BenchmarkMapLookup(b *testing.B) {
928928
b.Fatal(err)
929929
}
930930

931-
b.ResetTimer()
932-
933-
for n := 0; n < b.N; n++ {
931+
for b.Loop() {
934932
if _, err := m.Lookup(&k); err != nil {
935933
b.Fatal(err)
936934
}

pkg/bufuuid/uuid_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func BenchmarkUUIDGenerator(b *testing.B) {
5454
b.Run(fmt.Sprintf("%d slots", slots), func(b *testing.B) {
5555
var target uuid.UUID
5656
uuider := newWith(rand.Reader, slots)
57-
for range b.N {
57+
for b.Loop() {
5858
uuider.NewInto(&target)
5959
}
6060
})

pkg/cgroups/manager/manager_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,7 @@ func BenchmarkGetPodMetadataForContainer(b *testing.B) {
286286
// Add pod, and check for pod metadata for their containers.
287287
mm.OnAddPod(pod3)
288288

289-
b.ResetTimer()
290-
for i := 0; i < b.N; i++ {
289+
for b.Loop() {
291290
got := mm.GetPodMetadataForContainer(c3CId)
292291
require.Equal(b, &PodMetadata{Name: pod3.Name, Namespace: pod3.Namespace, IPs: pod3Ipstrs}, got)
293292
}

pkg/container/bitlpm/cidr_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ func BenchmarkTraversal(b *testing.B) {
493493

494494
b.ReportAllocs()
495495

496-
for i := 0; i < b.N; i++ {
496+
for b.Loop() {
497497
n = 0
498498
t.Ancestors(prefix, func(k netip.Prefix, _ struct{}) bool {
499499
n++
@@ -507,7 +507,7 @@ func BenchmarkTraversal(b *testing.B) {
507507

508508
b.ReportAllocs()
509509

510-
for i := 0; i < b.N; i++ {
510+
for b.Loop() {
511511
iter := t.AncestorIterator(prefix)
512512
n = 0
513513
for ok, _, _ := iter.Next(); ok; ok, _, _ = iter.Next() {
@@ -522,7 +522,7 @@ func BenchmarkTraversal(b *testing.B) {
522522

523523
b.ReportAllocs()
524524

525-
for i := 0; i < b.N; i++ {
525+
for b.Loop() {
526526
n = 0
527527
lastLen = prefixLen
528528
t.AncestorsLongestPrefixFirst(prefix, func(k netip.Prefix, _ struct{}) bool {
@@ -541,7 +541,7 @@ func BenchmarkTraversal(b *testing.B) {
541541

542542
b.ReportAllocs()
543543

544-
for i := 0; i < b.N; i++ {
544+
for b.Loop() {
545545
iter := t.AncestorLongestPrefixFirstIterator(prefix)
546546
n = 0
547547
lastLen = prefixLen
@@ -559,7 +559,7 @@ func BenchmarkTraversal(b *testing.B) {
559559

560560
b.ReportAllocs()
561561

562-
for i := 0; i < b.N; i++ {
562+
for b.Loop() {
563563
n = 0
564564
t.Descendants(prefix, func(k netip.Prefix, _ struct{}) bool {
565565
n++
@@ -573,7 +573,7 @@ func BenchmarkTraversal(b *testing.B) {
573573

574574
b.ReportAllocs()
575575

576-
for i := 0; i < b.N; i++ {
576+
for b.Loop() {
577577
iter := t.DescendantIterator(prefix)
578578
n = 0
579579
for ok, _, _ := iter.Next(); ok; ok, _, _ = iter.Next() {
@@ -588,7 +588,7 @@ func BenchmarkTraversal(b *testing.B) {
588588

589589
b.ReportAllocs()
590590

591-
for i := 0; i < b.N; i++ {
591+
for b.Loop() {
592592
n = 0
593593
lastLen = 0
594594
t.DescendantsShortestPrefixFirst(prefix, func(k netip.Prefix, _ struct{}) bool {
@@ -607,7 +607,7 @@ func BenchmarkTraversal(b *testing.B) {
607607

608608
b.ReportAllocs()
609609

610-
for i := 0; i < b.N; i++ {
610+
for b.Loop() {
611611
iter := t.DescendantShortestPrefixFirstIterator(prefix)
612612
n = 0
613613
lastLen = 0

pkg/container/cache/cache_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestStringsCache(t *testing.T) {
2626

2727
func BenchmarkStringsCache(b *testing.B) {
2828
s := "foobar"
29-
for range b.N {
29+
for b.Loop() {
3030
x := Strings.Get(s)
3131
if x != s {
3232
b.Fatalf("strings not equal, %q vs %q", s, x)
@@ -38,7 +38,7 @@ func BenchmarkStringsCache(b *testing.B) {
3838
// are skipped.
3939
func BenchmarkStringsCache_Large(b *testing.B) {
4040
s := strings.Repeat("ni", 500)
41-
for range b.N {
41+
for b.Loop() {
4242
x := Strings.Get(s)
4343
if x != s {
4444
b.Fatalf("strings not equal, %q vs %q", s, x)
@@ -48,7 +48,7 @@ func BenchmarkStringsCache_Large(b *testing.B) {
4848

4949
func BenchmarkUniqueString(b *testing.B) {
5050
s := "foobar"
51-
for range b.N {
51+
for b.Loop() {
5252
x := unique.Make(s)
5353
if x.Value() != s {
5454
b.Fatalf("strings not equal, %q vs %q", s, x.Value())
@@ -70,7 +70,7 @@ func TestStringMapsCache(t *testing.T) {
7070

7171
func BenchmarkStringMapsCache(b *testing.B) {
7272
m := map[string]string{"foo": "bar"}
73-
for range b.N {
73+
for b.Loop() {
7474
x := StringMaps.Get(m)
7575
if !maps.Equal(x, m) {
7676
b.Fatalf("maps not equal, %q vs %q", m, x)
@@ -86,8 +86,8 @@ func BenchmarkStringMapsCache_Large(b *testing.B) {
8686
for range 500 {
8787
m[s] = s
8888
}
89-
b.ResetTimer()
90-
for range b.N {
89+
90+
for b.Loop() {
9191
x := StringMaps.Get(m)
9292
if !maps.Equal(x, m) {
9393
b.Fatalf("maps not equal, %q vs %q", m, x)

pkg/container/immset_test.go

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func benchmarkImmSetInsert(b *testing.B, numItems int) {
126126
for i := range numItems {
127127
s = s.Insert(i)
128128
}
129-
for n := 0; n < b.N; n++ {
129+
for b.Loop() {
130130
s.Insert(numItems)
131131
}
132132
}
@@ -143,8 +143,8 @@ func benchmarkImmSetInsertMany(b *testing.B, numItems int) {
143143
a2[i] = int(rand.IntN(numItems))
144144
}
145145
s := NewImmSet(a1...)
146-
b.ResetTimer()
147-
for n := 0; n < b.N; n++ {
146+
147+
for b.Loop() {
148148
s.Insert(a2...)
149149
}
150150
}
@@ -165,9 +165,8 @@ func benchmarkImmSetDelete(b *testing.B, numItems int) {
165165
s = s.Insert(i)
166166
}
167167
idx := rand.IntN(numItems)
168-
b.ResetTimer()
169168

170-
for n := 0; n < b.N; n++ {
169+
for b.Loop() {
171170
s.Delete(idx)
172171
}
173172
}
@@ -183,9 +182,8 @@ func benchmarkImmSetDeleteMany(b *testing.B, numItems int) {
183182
s = s.Insert(int(rand.IntN(numItems)))
184183
a = append(a, int(rand.IntN(numItems)))
185184
}
186-
b.ResetTimer()
187185

188-
for n := 0; n < b.N; n++ {
186+
for b.Loop() {
189187
s.Delete(a...)
190188
}
191189
}
@@ -207,9 +205,8 @@ func benchmarkImmSetDifference(b *testing.B, numItems int) {
207205
s1 = s1.Insert(int(rand.IntN(numItems)))
208206
s2 = s2.Insert(int(rand.IntN(numItems)))
209207
}
210-
b.ResetTimer()
211208

212-
for n := 0; n < b.N; n++ {
209+
for b.Loop() {
213210
s1.Difference(s2)
214211
}
215212
}
@@ -233,8 +230,8 @@ func benchmarkImmSetUnion(b *testing.B, numItems int) {
233230
}
234231
s1 := NewImmSet(a1...)
235232
s2 := NewImmSet(a2...)
236-
b.ResetTimer()
237-
for n := 0; n < b.N; n++ {
233+
234+
for b.Loop() {
238235
s1.Union(s2)
239236
}
240237
}

pkg/datapath/iptables/ipset/ipset_test.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -586,8 +586,6 @@ func BenchmarkManager(b *testing.B) {
586586
tlog := hivetest.Logger(b)
587587
assert.NoError(b, hive.Start(tlog, context.Background()))
588588

589-
b.ResetTimer()
590-
591589
numEntries := 1000
592590

593591
toNetIP := func(i int) netip.Addr {
@@ -596,8 +594,8 @@ func BenchmarkManager(b *testing.B) {
596594
return netip.AddrFrom4(addr1)
597595
}
598596

599-
for n := 0; n < b.N; n++ {
600-
for i := 0; i < numEntries; i++ {
597+
for b.Loop() {
598+
for i := range numEntries {
601599
ip := toNetIP(i)
602600
mgr.AddToIPSet(CiliumNodeIPSetV4, INetFamily, ip)
603601
}

pkg/datapath/loader/loader_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,7 @@ func BenchmarkCompileOnly(b *testing.B) {
256256
dirInfo := getDirs(b)
257257
option.Config.Debug = true
258258

259-
b.ResetTimer()
260-
for i := 0; i < b.N; i++ {
259+
for b.Loop() {
261260
if err := compileDatapath(ctx, dirInfo, false, log); err != nil {
262261
b.Fatal(err)
263262
}
@@ -282,8 +281,8 @@ func BenchmarkReplaceDatapath(b *testing.B) {
282281
}
283282

284283
objPath := fmt.Sprintf("%s/%s", dirInfo.Output, endpointObj)
285-
b.ResetTimer()
286-
for i := 0; i < b.N; i++ {
284+
285+
for b.Loop() {
287286
spec, err := bpf.LoadCollectionSpec(objPath)
288287
if err != nil {
289288
b.Fatal(err)

0 commit comments

Comments
 (0)