Commit 12eab29
committed
netlink: reduce allocations in marshalMessages
Reduce allocations in marshalMessages by summing their sizes
and then allocating a single buffer to write directly to via
a new marshalInto method.
│ before │ after │
│ sec/op │ sec/op vs base │
MarshalMessages/1-12 60.35µ ± 4% 33.61µ ± 3% -44.32% (p=0.000 n=10)
MarshalMessages/8-12 1537.5µ ± 4% 330.9µ ± 11% -78.47% (p=0.000 n=10)
MarshalMessages/64-12 15.403m ± 5% 1.294m ± 3% -91.60% (p=0.000 n=10)
MarshalMessages/512-12 74.14m ± 17% 11.84m ± 4% -84.03% (p=0.000 n=10)
geomean 3.208m 642.5µ -79.98%
│ before │ after │
│ B/op │ B/op vs base │
MarshalMessages/1-12 144.00Ki ± 0% 72.00Ki ± 0% -50.00% (p=0.000 n=10)
MarshalMessages/8-12 2760.0Ki ± 0% 520.0Ki ± 0% -81.16% (p=0.000 n=10)
MarshalMessages/64-12 25.719Mi ± 0% 4.008Mi ± 0% -84.42% (p=0.000 n=10)
MarshalMessages/512-12 200.43Mi ± 0% 32.01Mi ± 0% -84.03% (p=0.000 n=10)
geomean 6.648Mi 1.463Mi -78.00%
│ before │ after │
│ allocs/op │ allocs/op vs base │
MarshalMessages/1-12 2.000 ± 0% 1.000 ± 0% -50.00% (p=0.000 n=10)
MarshalMessages/8-12 15.000 ± 0% 1.000 ± 0% -93.33% (p=0.000 n=10)
MarshalMessages/64-12 80.000 ± 0% 1.000 ± 0% -98.75% (p=0.000 n=10)
MarshalMessages/512-12 537.000 ± 0% 1.000 ± 0% -99.81% (p=0.000 n=10)
geomean 33.69 1.000 -97.03%
See #2541 parent 373849e commit 12eab29
1 file changed
Lines changed: 21 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| 213 | + | |
213 | 214 | | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
214 | 220 | | |
215 | 221 | | |
216 | 222 | | |
217 | 223 | | |
218 | 224 | | |
219 | | - | |
220 | | - | |
221 | | - | |
| 225 | + | |
222 | 226 | | |
223 | 227 | | |
224 | 228 | | |
225 | 229 | | |
226 | | - | |
| 230 | + | |
227 | 231 | | |
228 | | - | |
229 | | - | |
230 | | - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
231 | 235 | | |
232 | | - | |
| 236 | + | |
233 | 237 | | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
234 | 247 | | |
235 | 248 | | |
236 | 249 | | |
| |||
0 commit comments