File tree Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Expand file tree Collapse file tree 2 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -33,3 +33,7 @@ harness = false
3333[[bench ]]
3434name = " drop_example"
3535harness = false
36+
37+ [[bench ]]
38+ name = " thread_example"
39+ harness = false
Original file line number Diff line number Diff line change 1+ fn fibo ( n : u64 ) -> u64 {
2+ if n <= 1 {
3+ n
4+ } else {
5+ fibo ( n - 1 ) + fibo ( n - 2 )
6+ }
7+ }
8+
9+ #[ codspeed_divan_compat:: bench( args = [ 30 , 31 , 32 ] ) ]
10+ fn fib_in_thread ( n : usize ) {
11+ let handle = std:: thread:: spawn ( move || codspeed_divan_compat:: black_box ( fibo ( n as u64 ) ) ) ;
12+ handle. join ( ) . unwrap ( ) ;
13+ }
14+
15+ #[ codspeed_divan_compat:: bench( args = [ 30 , 31 , 32 ] ) ]
16+ fn fib_in_thread_bench ( bencher : codspeed_divan_compat:: Bencher , n : usize ) {
17+ bencher. bench ( || {
18+ let handle = std:: thread:: spawn ( move || codspeed_divan_compat:: black_box ( fibo ( n as u64 ) ) ) ;
19+ handle. join ( ) . unwrap ( )
20+ } )
21+ }
22+
23+ #[ codspeed_divan_compat:: bench( args = [ 30 , 31 , 32 ] ) ]
24+ fn fib_in_thread_bench_local ( bencher : codspeed_divan_compat:: Bencher , n : usize ) {
25+ bencher. bench_local ( || {
26+ let handle = std:: thread:: spawn ( move || codspeed_divan_compat:: black_box ( fibo ( n as u64 ) ) ) ;
27+ handle. join ( ) . unwrap ( )
28+ } )
29+ }
30+
31+ fn main ( ) {
32+ codspeed_divan_compat:: main ( ) ;
33+ }
You can’t perform that action at this time.
0 commit comments