Skip to content

Conversation

@GuillaumeLagrange
Copy link
Contributor

@GuillaumeLagrange GuillaumeLagrange commented Feb 11, 2026

feat: deduplicate symbol maps, unwind_data and debug info

  • Store pid-agnostic data in a file or json map under the key
    {file_name}-{rest_of_path_hash}.{extension} for each elf
  • For each pid, store pid specific data, mostly the computed
    load_bias from where each module was loaded into memory at
    runtime, alongside a key to retrieve the pid-agnostic data

This way, we only write to disk relevant parts of the information.

This fixes a regression introduced in 8b37208.
We now filter pids using `bench_pids`, except for `exec-harness` integrations,
where we take all pids.
@GuillaumeLagrange GuillaumeLagrange changed the title Cod 2138 deduplicate perf maps and unwind data Deduplicate walltime perf symbols, unwind data and debug info across pids Feb 11, 2026
- Store pid-agnostic data in a file or json map under the key
`{file_name}-{rest_of_path_hash}.{extension}` for each elf
- For each pid, store pid specific data, mostly the computed
load_bias from where each module was loaded into memory at
runtime, alongside a key to retrieve the pid-agnostic data

This way, we only write to disk relevant parts of the information.
…refactor

The use case for this is quite scoped, and it will most likely get
removed later, but for now, it helps compute two consecutive runs, one
with the current version of the runner, and one post refactor, and
highlight the differences in the report data.

It is expected to be used with ASLR disabled, otherwise all load_bias
will be randomized across runs.
@GuillaumeLagrange GuillaumeLagrange force-pushed the cod-2138-deduplicate-perf-maps-and-unwind_data branch from 99e0ea4 to 1a32faa Compare February 11, 2026 14:45
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 11, 2026

Merging this PR will not alter performance

✅ 4 untouched benchmarks


Comparing cod-2138-deduplicate-perf-maps-and-unwind_data (fa644ce) with main (d74d513)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant