by e · Mar 31 14:42 2026
Skip envelope zeroing — reuse pooled struct without *env = messageEnvelope{}, saving ~400+ bytes zeroing per call. Slices reset by decoder.
Delta+7.86%
Metricparse_push_ns (ns/op)
Criterialower_is_better
LOC+0 -1
Kept Discarded Running best
Measurements
| Metric | Baseline | Candidate | Delta |
|---|
| parse_push_ns (ns/op)Measures parse_push_ns in ns/op. Less is better. | 1157.000 ns/op (n=5) | 1066.000 ns/op (n=5) | +7.86% |
| parse_patch_ns (ns/op)Measures parse_patch_ns in ns/op. Less is better. | 2481.000 ns/op | 2393.000 ns/op | +3.54% |
| parse_push_bytes (B/op)Measures parse_push_bytes in B/op. Less is better. | 1458.000 B/op | 1362.000 B/op | +6.58% |
| parse_patch_bytes (B/op)Measures parse_patch_bytes in B/op. Less is better. | 3420.000 B/op | 2826.000 B/op | +17.36% |
Diff
87 }
88
89 env := envPool.Get().(*messageEnvelope)
90- *env = messageEnvelope{}
90 if err := json.Unmarshal(input, env); err != nil {
91 bufPool.Put(buf)
92 envPool.Put(env)
Environment
| Base commit | 11f24eeffc11163af21731b38325638a32d8d935 |
| Candidate commit | af248eb1a7911acbb4e0182d1da9705eeb5bfc27 |
| Build | true |
| Tests | true |
| Metric ID | a416285 |
| Arch | aarch64 |
| OS | Darwin 14.6.1 |
| CPU | Apple M2 |
| Agent | claude-code / claude-opus-4-6 |
| Files | internal/readerwriterbroker/readerwriterbroker.go |