File tree Expand file tree Collapse file tree 1 file changed +19
-4
lines changed
Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -8,21 +8,31 @@ use self::test::Bencher;
88
99#[ bench]
1010fn bench_push ( b : & mut Bencher ) {
11+ #[ inline( never) ]
12+ fn push_noinline ( vec : & mut SmallVec < [ u64 ; 16 ] > , x : u64 ) {
13+ vec. push ( x)
14+ }
15+
1116 b. iter ( || {
1217 let mut vec: SmallVec < [ u64 ; 16 ] > = SmallVec :: new ( ) ;
1318 for x in 0 ..100 {
14- vec . push ( x) ;
19+ push_noinline ( & mut vec , x) ;
1520 }
1621 vec
1722 } ) ;
1823}
1924
2025#[ bench]
2126fn bench_insert ( b : & mut Bencher ) {
27+ #[ inline( never) ]
28+ fn insert_noinline ( vec : & mut SmallVec < [ u64 ; 16 ] > , x : u64 ) {
29+ vec. insert ( 0 , x)
30+ }
31+
2232 b. iter ( || {
2333 let mut vec: SmallVec < [ u64 ; 16 ] > = SmallVec :: new ( ) ;
2434 for x in 0 ..100 {
25- vec . insert ( 0 , x) ;
35+ insert_noinline ( & mut vec , x) ;
2636 }
2737 vec
2838 } ) ;
@@ -39,11 +49,16 @@ fn bench_extend(b: &mut Bencher) {
3949
4050#[ bench]
4151fn bench_pushpop ( b : & mut Bencher ) {
52+ #[ inline( never) ]
53+ fn pushpop_noinline ( vec : & mut SmallVec < [ u64 ; 16 ] > , x : u64 ) {
54+ vec. push ( x) ;
55+ vec. pop ( ) ;
56+ }
57+
4258 b. iter ( || {
4359 let mut vec: SmallVec < [ u64 ; 16 ] > = SmallVec :: new ( ) ;
4460 for x in 0 ..100 {
45- vec. push ( x) ;
46- vec. pop ( ) ;
61+ pushpop_noinline ( & mut vec, x) ;
4762 }
4863 vec
4964 } ) ;
You can’t perform that action at this time.
0 commit comments