Commit 42f21ae
feat: restore edge/block collection and runtime consumption (#10869)
* feat: restore edge/block PGO collection and runtime consumption
Re-enable DOTNET_WritePGOData in Dockerfile.pgo to collect JIT edge/block
profiling data during PGO runs. Add PgoTrim tool to strip cold methods
and compress the ~31MB .jit file to ~438KB gzip. The weekly workflow now
trims and commits nethermind.jit.gz alongside the .mibc profile.
The production Dockerfile decompresses the .jit.gz at build time, and
entrypoint.sh enables DOTNET_ReadPGOData when the file exists, giving
the JIT branch layout hints and guarded devirtualization data.
* chore(pgo): update PGO profile (#10870)
chore(pgo): update PGO profile from weekly collection
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* chore(pgo): update PGO profile (#10870)
chore(pgo): update PGO profile from weekly collection
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: address PGO pipeline review feedback
- Flush pending histogram count at method boundaries in PgoTrim to
prevent silent data loss if kind-177 has no paired 195/196
- Use [ -s ] instead of [ -f ] in Dockerfile so empty .jit.gz placeholder
does not fail gzip decompression
- Log when edge/block PGO is enabled in entrypoint.sh for operator
visibility
- Update Dockerfile.pgo header comment to mention both .nettrace and
.jit outputs
* fix: use proper nullable tuple pattern in PgoTrim
Replace `is var (x, y)` (always matches, even when null) with
`is (string x, string y)` so pending histogram entries are only
emitted when actually present.
* chore: default reproducible benchmarks to flat db layout
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>1 parent 344edcc commit 42f21ae
File tree
9 files changed
+393
-4
lines changed- .github/workflows
- scripts
- src/Nethermind/Nethermind.Runner/pgo
- tools/PgoTrim
9 files changed
+393
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
250 | 252 | | |
251 | 253 | | |
252 | 254 | | |
| |||
334 | 336 | | |
335 | 337 | | |
336 | 338 | | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
337 | 353 | | |
338 | 354 | | |
339 | 355 | | |
| |||
342 | 358 | | |
343 | 359 | | |
344 | 360 | | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
345 | 369 | | |
346 | 370 | | |
347 | 371 | | |
| |||
366 | 390 | | |
367 | 391 | | |
368 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
369 | 400 | | |
370 | 401 | | |
371 | 402 | | |
372 | | - | |
| 403 | + | |
373 | 404 | | |
374 | 405 | | |
375 | 406 | | |
| |||
387 | 418 | | |
388 | 419 | | |
389 | 420 | | |
| 421 | + | |
390 | 422 | | |
391 | 423 | | |
392 | 424 | | |
393 | 425 | | |
394 | 426 | | |
395 | 427 | | |
396 | 428 | | |
| 429 | + | |
397 | 430 | | |
398 | 431 | | |
399 | 432 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
| 184 | + | |
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
34 | 43 | | |
35 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
50 | 56 | | |
51 | 57 | | |
52 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
69 | 76 | | |
Binary file not shown.
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments