1use std::alloc::System;
2
3use log::*;
4
5use heapmon::{util::setup_logger, HeapMon, SummaryOrder};
8
9#[global_allocator]
10pub static HEAPMON: HeapMon<System> = HeapMon::system();
11
12fn fib (n: i64) -> i64 {
13 let strval = format!("blah blah blah blah blah blah");
14 if n <= 1 {
15 n
16 } else {
17 _ = strval;
18 fib(n - 1) + fib(n - 2)
19 }
20}
21
22fn main() {
23 setup_logger().expect("logger setup");
24
25 const N: i64 = 10;
26 HEAPMON.peakhold();
27 info!("fib({}) = {}", N, fib(N));
28 HEAPMON.disable();
29 HEAPMON.dump(SummaryOrder::MemoryUsed, 0, "peakhold");
30}