@@ -508,14 +508,15 @@ mod bench {
508
508
use prelude:: * ;
509
509
use self :: test:: Bencher ;
510
510
511
+ // why is this a macro? wouldn't an inlined function work just as well?
511
512
macro_rules! u64_from_be_bytes_bench_impl(
512
- ( $size: expr, $stride: expr, $start_index: expr) =>
513
+ ( $b : expr , $ size: expr, $stride: expr, $start_index: expr) =>
513
514
( {
514
515
use super :: u64_from_be_bytes;
515
516
516
517
let data = Vec :: from_fn( $stride* 100 +$start_index, |i| i as u8 ) ;
517
518
let mut sum = 0u64 ;
518
- b. iter( || {
519
+ $ b. iter( || {
519
520
let mut i = $start_index;
520
521
while i < data. len( ) {
521
522
sum += u64_from_be_bytes( data. as_slice( ) , i, $size) ;
@@ -527,31 +528,31 @@ mod bench {
527
528
528
529
#[ bench]
529
530
fn u64_from_be_bytes_4_aligned ( b : & mut Bencher ) {
530
- u64_from_be_bytes_bench_impl ! ( 4 , 4 , 0 ) ;
531
+ u64_from_be_bytes_bench_impl ! ( b , 4 , 4 , 0 ) ;
531
532
}
532
533
533
534
#[ bench]
534
535
fn u64_from_be_bytes_4_unaligned ( b : & mut Bencher ) {
535
- u64_from_be_bytes_bench_impl ! ( 4 , 4 , 1 ) ;
536
+ u64_from_be_bytes_bench_impl ! ( b , 4 , 4 , 1 ) ;
536
537
}
537
538
538
539
#[ bench]
539
540
fn u64_from_be_bytes_7_aligned ( b : & mut Bencher ) {
540
- u64_from_be_bytes_bench_impl ! ( 7 , 8 , 0 ) ;
541
+ u64_from_be_bytes_bench_impl ! ( b , 7 , 8 , 0 ) ;
541
542
}
542
543
543
544
#[ bench]
544
545
fn u64_from_be_bytes_7_unaligned ( b : & mut Bencher ) {
545
- u64_from_be_bytes_bench_impl ! ( 7 , 8 , 1 ) ;
546
+ u64_from_be_bytes_bench_impl ! ( b , 7 , 8 , 1 ) ;
546
547
}
547
548
548
549
#[ bench]
549
550
fn u64_from_be_bytes_8_aligned ( b : & mut Bencher ) {
550
- u64_from_be_bytes_bench_impl ! ( 8 , 8 , 0 ) ;
551
+ u64_from_be_bytes_bench_impl ! ( b , 8 , 8 , 0 ) ;
551
552
}
552
553
553
554
#[ bench]
554
555
fn u64_from_be_bytes_8_unaligned ( b : & mut Bencher ) {
555
- u64_from_be_bytes_bench_impl ! ( 8 , 8 , 1 ) ;
556
+ u64_from_be_bytes_bench_impl ! ( b , 8 , 8 , 1 ) ;
556
557
}
557
558
}
0 commit comments