@@ -288,7 +288,7 @@ func BenchmarkUnmarshal(b *testing.B) {
288288 name = "CBOR " + bm .name + " to Go " + t .Kind ().String ()
289289 }
290290 b .Run (name , func (b * testing.B ) {
291- for i := 0 ; i < b . N ; i ++ {
291+ for b . Loop () {
292292 vPtr := reflect .New (t ).Interface ()
293293 if err := Unmarshal (bm .data , vPtr ); err != nil {
294294 b .Fatal ("Unmarshal:" , err )
@@ -341,7 +341,7 @@ func BenchmarkUnmarshal(b *testing.B) {
341341 }
342342 for _ , bm := range moreBenchmarks {
343343 b .Run (bm .name , func (b * testing.B ) {
344- for i := 0 ; i < b . N ; i ++ {
344+ for b . Loop () {
345345 vPtr := reflect .New (bm .decodeToType ).Interface ()
346346 if err := Unmarshal (bm .data , vPtr ); err != nil {
347347 b .Fatal ("Unmarshal:" , err )
@@ -364,7 +364,7 @@ func BenchmarkUnmarshalFirst(b *testing.B) {
364364 data = append (data , bm .data ... )
365365 data = append (data , trailingData ... )
366366 b .Run (name , func (b * testing.B ) {
367- for i := 0 ; i < b . N ; i ++ {
367+ for b . Loop () {
368368 vPtr := reflect .New (t ).Interface ()
369369 if _ , err := UnmarshalFirst (data , vPtr ); err != nil {
370370 b .Fatal ("UnmarshalFirst:" , err )
@@ -388,7 +388,7 @@ func BenchmarkUnmarshalFirstViaDecoder(b *testing.B) {
388388 data = append (data , bm .data ... )
389389 data = append (data , trailingData ... )
390390 b .Run (name , func (b * testing.B ) {
391- for i := 0 ; i < b . N ; i ++ {
391+ for b . Loop () {
392392 vPtr := reflect .New (t ).Interface ()
393393 if err := NewDecoder (bytes .NewReader (data )).Decode (vPtr ); err != nil {
394394 b .Fatal ("UnmarshalDecoder:" , err )
@@ -409,7 +409,7 @@ func BenchmarkDecode(b *testing.B) {
409409 buf := bytes .NewReader (bm .data )
410410 decoder := NewDecoder (buf )
411411 b .Run (name , func (b * testing.B ) {
412- for i := 0 ; i < b . N ; i ++ {
412+ for b . Loop () {
413413 vPtr := reflect .New (t ).Interface ()
414414 if err := decoder .Decode (vPtr ); err != nil {
415415 b .Fatal ("Decode:" , err )
@@ -424,7 +424,7 @@ func BenchmarkDecode(b *testing.B) {
424424func BenchmarkDecodeStream (b * testing.B ) {
425425 var data []byte
426426 for _ , bm := range decodeBenchmarks {
427- for i := 0 ; i < len (bm .decodeToTypes ); i ++ {
427+ for range len (bm .decodeToTypes ) {
428428 data = append (data , bm .data ... )
429429 }
430430 }
@@ -454,7 +454,7 @@ func BenchmarkMarshal(b *testing.B) {
454454 name = "Go " + reflect .TypeOf (v ).Kind ().String () + " to CBOR " + bm .name
455455 }
456456 b .Run (name , func (b * testing.B ) {
457- for i := 0 ; i < b . N ; i ++ {
457+ for b . Loop () {
458458 if _ , err := Marshal (v ); err != nil {
459459 b .Fatal ("Marshal:" , err )
460460 }
@@ -588,7 +588,7 @@ func BenchmarkMarshal(b *testing.B) {
588588 }
589589 for _ , bm := range moreBenchmarks {
590590 b .Run (bm .name , func (b * testing.B ) {
591- for i := 0 ; i < b . N ; i ++ {
591+ for b . Loop () {
592592 if _ , err := Marshal (bm .value ); err != nil {
593593 b .Fatal ("Marshal:" , err )
594594 }
@@ -634,7 +634,7 @@ func BenchmarkMarshalCanonical(b *testing.B) {
634634 name = "Go " + reflect .TypeOf (v ).Kind ().String () + " to CBOR " + bm .name
635635 }
636636 b .Run (name , func (b * testing.B ) {
637- for i := 0 ; i < b . N ; i ++ {
637+ for b . Loop () {
638638 if _ , err := Marshal (v ); err != nil {
639639 b .Fatal ("Marshal:" , err )
640640 }
@@ -647,7 +647,7 @@ func BenchmarkMarshalCanonical(b *testing.B) {
647647 }
648648 em , _ := EncOptions {Sort : SortCanonical }.EncMode ()
649649 b .Run (name , func (b * testing.B ) {
650- for i := 0 ; i < b . N ; i ++ {
650+ for b . Loop () {
651651 if _ , err := em .Marshal (v ); err != nil {
652652 b .Fatal ("Marshal:" , err )
653653 }
@@ -666,8 +666,7 @@ func BenchmarkNewEncoderEncode(b *testing.B) {
666666 name = "Go " + reflect .TypeOf (v ).Kind ().String () + " to CBOR " + bm .name
667667 }
668668 b .Run (name , func (b * testing.B ) {
669- b .ResetTimer ()
670- for i := 0 ; i < b .N ; i ++ {
669+ for b .Loop () {
671670 encoder := NewEncoder (io .Discard )
672671 if err := encoder .Encode (v ); err != nil {
673672 b .Fatal ("Encode:" , err )
@@ -689,8 +688,7 @@ func BenchmarkEncode(b *testing.B) {
689688 }
690689 b .Run (name , func (b * testing.B ) {
691690 encoder := NewEncoder (io .Discard )
692- b .ResetTimer ()
693- for i := 0 ; i < b .N ; i ++ {
691+ for b .Loop () {
694692 if err := encoder .Encode (v ); err != nil {
695693 b .Fatal ("Encode:" , err )
696694 }
@@ -736,7 +734,7 @@ func BenchmarkUnmarshalCOSE(b *testing.B) {
736734 }
737735 for _ , tc := range testCases {
738736 b .Run (tc .name , func (b * testing.B ) {
739- for i := 0 ; i < b . N ; i ++ {
737+ for b . Loop () {
740738 var v coseKey
741739 if err := Unmarshal (tc .data , & v ); err != nil {
742740 b .Fatal ("Unmarshal:" , err )
@@ -771,7 +769,7 @@ func BenchmarkMarshalCOSE(b *testing.B) {
771769 b .Fatal ("Unmarshal:" , err )
772770 }
773771 b .Run (tc .name , func (b * testing.B ) {
774- for i := 0 ; i < b . N ; i ++ {
772+ for b . Loop () {
775773 if _ , err := Marshal (v ); err != nil {
776774 b .Fatal ("Marshal:" , err )
777775 }
@@ -1149,8 +1147,7 @@ func BenchmarkUnmarshalMapToStruct(b *testing.B) {
11491147
11501148 dst := reflect .New (reflect .TypeOf (in .into )).Interface ()
11511149
1152- b .ResetTimer ()
1153- for i := 0 ; i < b .N ; i ++ {
1150+ for b .Loop () {
11541151 if err := dm .Unmarshal (in .data , dst ); ! in .reject && err != nil {
11551152 b .Fatalf ("unexpected error: %v" , err )
11561153 } else if in .reject && err == nil {
0 commit comments