@@ -1051,9 +1051,11 @@ func benchGenericParseTypeInt[V GenericTypeInteger](b *testing.B, name string, t
10511051 var err error
10521052 b .ReportAllocs ()
10531053 b .ResetTimer ()
1054- for n := 0 ; n < b .N ; n ++ {
1055- v , err = genericParseType [V ](strconv .FormatInt (test .value , 10 ))
1056- }
1054+ b .RunParallel (func (pb * testing.PB ) {
1055+ for pb .Next () {
1056+ v , err = genericParseType [V ](strconv .FormatInt (test .value , 10 ))
1057+ }
1058+ })
10571059 if test .bits <= int (unsafe .Sizeof (V (0 )))* 8 {
10581060 require .NoError (t , err )
10591061 require .Equal (t , V (test .value ), v )
@@ -1127,9 +1129,11 @@ func benchGenericParseTypeUInt[V GenericTypeInteger](b *testing.B, name string,
11271129 var err error
11281130 b .ReportAllocs ()
11291131 b .ResetTimer ()
1130- for n := 0 ; n < b .N ; n ++ {
1131- v , err = genericParseType [V ](strconv .FormatUint (test .value , 10 ))
1132- }
1132+ b .RunParallel (func (pb * testing.PB ) {
1133+ for pb .Next () {
1134+ v , err = genericParseType [V ](strconv .FormatUint (test .value , 10 ))
1135+ }
1136+ })
11331137 if test .bits <= int (unsafe .Sizeof (V (0 )))* 8 {
11341138 require .NoError (t , err )
11351139 require .Equal (t , V (test .value ), v )
@@ -1169,9 +1173,11 @@ func Benchmark_GenericParseTypeFloats(b *testing.B) {
11691173 var err error
11701174 b .ReportAllocs ()
11711175 b .ResetTimer ()
1172- for n := 0 ; n < b .N ; n ++ {
1173- v , err = genericParseType [float32 ](test .str )
1174- }
1176+ b .RunParallel (func (pb * testing.PB ) {
1177+ for pb .Next () {
1178+ v , err = genericParseType [float32 ](test .str )
1179+ }
1180+ })
11751181 require .NoError (t , err )
11761182 require .InEpsilon (t , float32 (test .value ), v , epsilon )
11771183 })
@@ -1183,9 +1189,11 @@ func Benchmark_GenericParseTypeFloats(b *testing.B) {
11831189 var err error
11841190 b .ReportAllocs ()
11851191 b .ResetTimer ()
1186- for n := 0 ; n < b .N ; n ++ {
1187- v , err = genericParseType [float64 ](test .str )
1188- }
1192+ b .RunParallel (func (pb * testing.PB ) {
1193+ for pb .Next () {
1194+ v , err = genericParseType [float64 ](test .str )
1195+ }
1196+ })
11891197 require .NoError (t , err )
11901198 require .InEpsilon (t , test .value , v , epsilon )
11911199 })
@@ -1223,9 +1231,12 @@ func Benchmark_GenericParseTypeBytes(b *testing.B) {
12231231 var v []byte
12241232 var err error
12251233 b .ReportAllocs ()
1226- for b .Loop () {
1227- v , err = genericParseType [[]byte ](test .str )
1228- }
1234+ b .ResetTimer ()
1235+ b .RunParallel (func (pb * testing.PB ) {
1236+ for pb .Next () {
1237+ v , err = genericParseType [[]byte ](test .str )
1238+ }
1239+ })
12291240 if test .err == nil {
12301241 require .NoError (b , err )
12311242 } else {
@@ -1245,9 +1256,12 @@ func Benchmark_GenericParseTypeString(b *testing.B) {
12451256 var v string
12461257 var err error
12471258 b .ReportAllocs ()
1248- for b .Loop () {
1249- v , err = genericParseType [string ](test )
1250- }
1259+ b .ResetTimer ()
1260+ b .RunParallel (func (pb * testing.PB ) {
1261+ for pb .Next () {
1262+ v , err = genericParseType [string ](test )
1263+ }
1264+ })
12511265 require .NoError (b , err )
12521266 require .Equal (b , test , v )
12531267 })
@@ -1283,9 +1297,12 @@ func Benchmark_GenericParseTypeBoolean(b *testing.B) {
12831297 var v bool
12841298 var err error
12851299 b .ReportAllocs ()
1286- for b .Loop () {
1287- v , err = genericParseType [bool ](test .str )
1288- }
1300+ b .ResetTimer ()
1301+ b .RunParallel (func (pb * testing.PB ) {
1302+ for pb .Next () {
1303+ v , err = genericParseType [bool ](test .str )
1304+ }
1305+ })
12891306 require .NoError (b , err )
12901307 if test .value {
12911308 require .True (b , v )
0 commit comments