@@ -509,8 +509,9 @@ func BenchmarkMaxMindDB(b *testing.B) {
509
509
r := rand .New (rand .NewSource (time .Now ().UnixNano ()))
510
510
var result interface {}
511
511
512
+ ip := make (net.IP , 4 , 4 )
512
513
for i := 0 ; i < b .N ; i ++ {
513
- ip := randomIPv4Address (b , r )
514
+ randomIPv4Address (b , r , ip )
514
515
err = db .Lookup (ip , & result )
515
516
assert .Nil (b , err )
516
517
}
@@ -530,16 +531,19 @@ func BenchmarkCountryCode(b *testing.B) {
530
531
r := rand .New (rand .NewSource (0 ))
531
532
var result MinCountry
532
533
534
+ ip := make (net.IP , 4 , 4 )
533
535
for i := 0 ; i < b .N ; i ++ {
534
- ip := randomIPv4Address (b , r )
536
+ randomIPv4Address (b , r , ip )
535
537
err = db .Lookup (ip , & result )
536
538
assert .Nil (b , err )
537
539
}
538
540
assert .Nil (b , db .Close (), "error on close" )
539
541
}
540
542
541
- func randomIPv4Address (b * testing.B , r * rand.Rand ) net. IP {
543
+ func randomIPv4Address (b * testing.B , r * rand.Rand , ip [] byte ) {
542
544
num := r .Uint32 ()
543
- return []byte {byte (num >> 24 ), byte (num >> 16 ), byte (num >> 8 ),
544
- byte (num )}
545
+ ip [0 ] = byte (num >> 24 )
546
+ ip [1 ] = byte (num >> 16 )
547
+ ip [2 ] = byte (num >> 8 )
548
+ ip [3 ] = byte (num )
545
549
}
0 commit comments