//go:build ignore // +build ignore package main import ( "os" "runtime/pprof" ) func main() { pprof.StartCPUProfile(os.Stdout) defer pprof.StopCPUProfile() belowLimit() aboveLimit() } func belowLimit() { atDepth(32, cpuHog) } func aboveLimit() { atDepth(64, cpuHog) } func cpuHog() { for i := 0; i < 5000*1000*1000; i++ { } } func atDepth(n int, fn func()) { if n > 0 { atDepth(n-1, fn) } else { fn() } }