refactor: use b.Loop() in benchmark tests for better performance (#25411)

This commit is contained in:
Jammy Arkens
2025-10-07 10:49:16 -04:00
committed by GitHub
parent 0911d742fd
commit de3afd3af2
3 changed files with 9 additions and 13 deletions
+3 -3
View File
@@ -29,7 +29,7 @@ func BenchmarkCoinsAdditionIntersect(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
for b.Loop() {
coinsA.Add(coinsB...)
}
}
@@ -61,7 +61,7 @@ func BenchmarkCoinsAdditionNoIntersect(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
for b.Loop() {
coinsA.Add(coinsB...)
}
}
@@ -101,7 +101,7 @@ func BenchmarkSumOfCoinAdds(b *testing.B) {
b.ResetTimer()
for i := 0; i < b.N; i++ {
for b.Loop() {
sumFn(addCoins)
}
}
+2 -2
View File
@@ -28,7 +28,7 @@ func BenchmarkSig(b *testing.B) {
b.Run("secp256k1", func(b *testing.B) {
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for b.Loop() {
ok := pkK.VerifySignature(msg, sigK)
require.True(ok)
}
@@ -36,7 +36,7 @@ func BenchmarkSig(b *testing.B) {
b.Run("secp256r1", func(b *testing.B) {
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for b.Loop() {
ok := pkR.VerifySignature(msg, sigR)
require.True(ok)
}
+4 -8
View File
@@ -29,10 +29,9 @@ var intValues = []protoreflect.Value{
func BenchmarkIntValueRendererFormat(b *testing.B) {
ctx := context.Background()
ivr := textual.NewIntValueRenderer(fieldDescriptorFromName("UINT64"))
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for b.Loop() {
for _, value := range intValues {
if _, err := ivr.Format(ctx, value); err != nil {
b.Fatal(err)
@@ -56,10 +55,9 @@ var decimalValues = []protoreflect.Value{
func BenchmarkDecimalValueRendererFormat(b *testing.B) {
ctx := context.Background()
dvr := textual.NewDecValueRenderer()
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for b.Loop() {
for _, value := range decimalValues {
if _, err := dvr.Format(ctx, value); err != nil {
b.Fatal(err)
@@ -83,10 +81,9 @@ var byteValues = []protoreflect.Value{
func BenchmarkBytesValueRendererFormat(b *testing.B) {
ctx := context.Background()
bvr := textual.NewBytesValueRenderer()
b.ResetTimer()
b.ReportAllocs()
for i := 0; i < b.N; i++ {
for b.Loop() {
for _, value := range byteValues {
if _, err := bvr.Format(ctx, value); err != nil {
b.Fatal(err)
@@ -129,9 +126,8 @@ func BenchmarkMessageValueRenderer_parseRepeated(b *testing.B) {
}
b.ReportAllocs()
b.ResetTimer()
for i := 0; i < b.N; i++ {
for b.Loop() {
for _, rs := range rsL {
sink, _ = rs.rend.Parse(ctx, rs.screens)
}