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
33
33
[[bench ]]
34
34
name = " drop_example"
35
35
harness = 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