go build -gcflags "-m -m" .
# github.com/dyweb/gommon/log/_benchmarks/playground/slice_on_stack
./allocate_location.go:26:6: cannot inline f.Write: marked go:noinline
./allocate_location.go:38:6: cannot inline (*f2).Write: marked go:noinline
./allocate_location.go:42:6: cannot inline (*handle).Log: function too complex: cost 97 exceeds budget 80
./allocate_location.go:48:6: cannot inline (*handle).Log2: function too complex: cost 98 exceeds budget 80
./allocate_location.go:54:6: cannot inline (*handle).Log3: function too complex: cost 97 exceeds budget 80
./allocate_location.go:60:6: cannot inline (*handle).Log4: function too complex: cost 98 exceeds budget 80
./allocate_location.go:66:6: cannot inline (*handle).Log5: function too complex: cost 98 exceeds budget 80
./allocate_location.go:72:6: cannot inline (*handle).Log6: function too complex: cost 97 exceeds budget 80
./allocate_location.go:78:6: cannot inline (*handle).Log7: function too complex: cost 97 exceeds budget 80
./allocate_location.go:85:6: cannot inline (*handle).Compute: marked go:noinline
./allocate_location.go:91:6: cannot inline (*handle).Compute2: marked go:noinline
./allocate_location.go:97:6: can inline main as: func() {  }
./allocate_location.go:26:18: f.Write b does not escape
./allocate_location.go:38:7: (*f2).Write f does not escape
./allocate_location.go:38:20: (*f2).Write b does not escape
./allocate_location.go:43:12: make([]byte, 0, 100) escapes to heap
./allocate_location.go:43:12: 	from l1 (assigned) at ./allocate_location.go:43:5
./allocate_location.go:43:12: 	from h.w.Write(l1) (parameter to indirect call) at ./allocate_location.go:45:11
./allocate_location.go:42:7: leaking param content: h
./allocate_location.go:42:7: 	from h.w (dot of pointer) at ./allocate_location.go:45:3
./allocate_location.go:42:7: 	from h.w.Write(l1) (receiver in indirect call) at ./allocate_location.go:45:11
./allocate_location.go:42:22: (*handle).Log s does not escape
./allocate_location.go:49:12: make([]byte, 0, len(s)) escapes to heap
./allocate_location.go:49:12: 	from make([]byte, 0, len(s)) (non-constant size) at ./allocate_location.go:49:12
./allocate_location.go:48:7: leaking param content: h
./allocate_location.go:48:7: 	from h.w (dot of pointer) at ./allocate_location.go:51:3
./allocate_location.go:48:7: 	from h.w.Write(l2) (receiver in indirect call) at ./allocate_location.go:51:11
./allocate_location.go:48:23: (*handle).Log2 s does not escape
./allocate_location.go:54:7: (*handle).Log3 h does not escape
./allocate_location.go:54:23: (*handle).Log3 s does not escape
./allocate_location.go:55:12: (*handle).Log3 make([]byte, 0, 100) does not escape
./allocate_location.go:60:7: (*handle).Log4 h does not escape
./allocate_location.go:60:23: (*handle).Log4 s does not escape
./allocate_location.go:61:12: (*handle).Log4 make([]byte, 0, 100) does not escape
./allocate_location.go:66:7: (*handle).Log5 h does not escape
./allocate_location.go:66:23: (*handle).Log5 s does not escape
./allocate_location.go:67:12: (*handle).Log5 make([]byte, 0, 100) does not escape
./allocate_location.go:69:6: (*handle).Log5 h.f2 does not escape
./allocate_location.go:72:7: (*handle).Log6 h does not escape
./allocate_location.go:72:23: (*handle).Log6 s does not escape
./allocate_location.go:73:12: (*handle).Log6 make([]byte, 0, 100) does not escape
./allocate_location.go:79:12: make([]byte, 0, 100) escapes to heap
./allocate_location.go:79:12: 	from l7 (assigned) at ./allocate_location.go:79:5
./allocate_location.go:79:12: 	from h.fi.Write(l7) (parameter to indirect call) at ./allocate_location.go:81:12
./allocate_location.go:78:7: leaking param content: h
./allocate_location.go:78:7: 	from h.fi (dot of pointer) at ./allocate_location.go:81:3
./allocate_location.go:78:7: 	from h.fi.Write(l7) (receiver in indirect call) at ./allocate_location.go:81:12
./allocate_location.go:78:23: (*handle).Log7 s does not escape
./allocate_location.go:85:7: (*handle).Compute h does not escape
./allocate_location.go:86:12: (*handle).Compute make([]byte, 0, 100) does not escape
./allocate_location.go:92:12: make([]byte, i) escapes to heap
./allocate_location.go:92:12: 	from make([]byte, i) (non-constant size) at ./allocate_location.go:92:12
./allocate_location.go:91:7: (*handle).Compute2 h does not escape
<autogenerated>:1: (*f).Write .this does not escape
./allocate_location.go:26:18: (*f).Write b does not escape
./allocate_location.go:34:8: leaking param: b
./allocate_location.go:34:8: 	from .this.Write(b) (parameter to indirect call) at <autogenerated>:1
<autogenerated>:1: leaking param: .this
<autogenerated>:1: 	from .this.Write(b) (receiver in indirect call) at <autogenerated>:1
