1use std::num::Wrapping;
2
3fn heavy_calc1() -> Wrapping<u64> {
4 let mut v = Wrapping(1u64);
5 for i in 0..1_000_000_000 {
6 v += v * Wrapping(i);
7 }
8 v
9}
10
11fn heavy_calc2() -> Wrapping<u64> {
12 let mut v = Wrapping(1u64);
13 for i in 0..800_000_000 {
14 v += v * Wrapping(i);
15 }
16 v
17}
18
19fn big_fn() {
20 superluminal_perf::begin_event("example-work1");
23 let v = heavy_calc1();
24 superluminal_perf::end_event();
25 println!("work1 done: {}", v);
26
27 superluminal_perf::begin_event("example-work2");
30 let v = heavy_calc2();
31 superluminal_perf::end_event();
32 println!("work2 done: {}", v);
33}
34
35fn main() {
36 println!("Enabled: {}", superluminal_perf::enabled());
37
38 superluminal_perf::set_current_thread_name("mythread");
39
40 big_fn();
41}