@@ -209,7 +209,7 @@ impl<T> RingBuf<T> {
209
209
assert ! ( i < self . len( ) ) ;
210
210
assert ! ( j < self . len( ) ) ;
211
211
let ri = wrap_index ( self . tail + i, self . cap ) ;
212
- let rj = wrap_index ( self . tail + j, self . cap ) ; ;
212
+ let rj = wrap_index ( self . tail + j, self . cap ) ;
213
213
unsafe {
214
214
ptr:: swap ( self . ptr . offset ( ri as int ) , self . ptr . offset ( rj as int ) )
215
215
}
@@ -972,53 +972,58 @@ mod tests {
972
972
#[ bench]
973
973
fn bench_new ( b : & mut test:: Bencher ) {
974
974
b. iter ( || {
975
- let _: RingBuf < u64 > = RingBuf :: new ( ) ;
975
+ let ring: RingBuf < u64 > = RingBuf :: new ( ) ;
976
+ test:: black_box ( ring) ;
976
977
} )
977
978
}
978
979
979
980
#[ bench]
980
981
fn bench_push_back_100 ( b : & mut test:: Bencher ) {
981
- let mut deq = RingBuf :: with_capacity ( 100 ) ;
982
+ let mut deq = RingBuf :: with_capacity ( 101 ) ;
982
983
b. iter ( || {
983
984
for i in range ( 0 i, 100 ) {
984
985
deq. push_back ( i) ;
985
986
}
986
- deq. clear ( ) ;
987
+ deq. head = 0 ;
988
+ deq. tail = 0 ;
987
989
} )
988
990
}
989
991
990
992
#[ bench]
991
993
fn bench_push_front_100 ( b : & mut test:: Bencher ) {
992
- let mut deq = RingBuf :: with_capacity ( 100 ) ;
994
+ let mut deq = RingBuf :: with_capacity ( 101 ) ;
993
995
b. iter ( || {
994
996
for i in range ( 0 i, 100 ) {
995
997
deq. push_front ( i) ;
996
998
}
997
- deq. clear ( ) ;
999
+ deq. head = 0 ;
1000
+ deq. tail = 0 ;
998
1001
} )
999
1002
}
1000
1003
1001
1004
#[ bench]
1002
- fn bench_pop_100 ( b : & mut test:: Bencher ) {
1003
- let mut deq = RingBuf :: with_capacity ( 100 ) ;
1005
+ fn bench_pop_back_100 ( b : & mut test:: Bencher ) {
1006
+ let mut deq: RingBuf < int > = RingBuf :: with_capacity ( 101 ) ;
1004
1007
1005
1008
b. iter ( || {
1006
- for i in range ( 0 i, 100 ) {
1007
- deq. push_back ( i) ;
1009
+ deq. head = 100 ;
1010
+ deq. tail = 0 ;
1011
+ while !deq. is_empty ( ) {
1012
+ test:: black_box ( deq. pop_back ( ) ) ;
1008
1013
}
1009
- while None != deq. pop_back ( ) { }
1010
1014
} )
1011
1015
}
1012
1016
1013
1017
#[ bench]
1014
1018
fn bench_pop_front_100 ( b : & mut test:: Bencher ) {
1015
- let mut deq = RingBuf :: with_capacity ( 100 ) ;
1019
+ let mut deq: RingBuf < int > = RingBuf :: with_capacity ( 101 ) ;
1016
1020
1017
1021
b. iter ( || {
1018
- for i in range ( 0 i, 100 ) {
1019
- deq. push_back ( i) ;
1022
+ deq. head = 100 ;
1023
+ deq. tail = 0 ;
1024
+ while !deq. is_empty ( ) {
1025
+ test:: black_box ( deq. pop_front ( ) ) ;
1020
1026
}
1021
- while None != deq. pop_front ( ) { }
1022
1027
} )
1023
1028
}
1024
1029
@@ -1029,6 +1034,7 @@ mod tests {
1029
1034
for i in range ( 0 i, 1025 ) {
1030
1035
deq. push_front ( i) ;
1031
1036
}
1037
+ test:: black_box ( deq) ;
1032
1038
} )
1033
1039
}
1034
1040
@@ -1041,7 +1047,7 @@ mod tests {
1041
1047
for & i in ring. iter ( ) {
1042
1048
sum += i;
1043
1049
}
1044
- sum
1050
+ test :: black_box ( sum) ;
1045
1051
} )
1046
1052
}
1047
1053
@@ -1050,9 +1056,11 @@ mod tests {
1050
1056
let mut ring: RingBuf < int > = range ( 0 i, 1000 ) . collect ( ) ;
1051
1057
1052
1058
b. iter ( || {
1059
+ let mut sum = 0 ;
1053
1060
for i in ring. iter_mut ( ) {
1054
- * i += 1 ;
1061
+ sum += * i ;
1055
1062
}
1063
+ test:: black_box ( sum) ;
1056
1064
} )
1057
1065
}
1058
1066
0 commit comments