[PATCHSET 0/9] perf annotate: More memory footprint reduction

From: Namhyung Kim
Date: Thu Apr 04 2024 - 13:57:23 EST


Hello,

This work is continuation of the previous work to reduce the memory
usage in symbol and annotation structures. Basically I moved some
fields in the annotation which consume spaces in the struct symbol
which is allocated regardless if the symbol has a sample or not when
annotation is enabled.

With this change applied, the struct annotation only has two members -
annotated_source and annotated_branch. The next step would be to
remove the struct annotation and to have a hash table from symbol to
each annotated struct directly.

No function changes intended.

The code is available at perf/annotate-diet-v3 branch in

git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung


Namhyung Kim (9):
perf annotate: Fix annotation_calc_lines()
perf annotate: Staticize some local functions
perf annotate: Introduce annotated_source__get_line()
perf annotate: Check annotation lines more efficiently
perf annotate: Get rid of offsets array
perf annotate: Move widths struct to annotated_source
perf annotate: Move max_jump_sources struct to annotated_source
perf annotate: Move nr_events struct to annotated_source
perf annotate: Move start field struct to annotated_source

tools/perf/ui/browsers/annotate.c | 15 ++-
tools/perf/util/annotate.c | 174 +++++++++++++++++-------------
tools/perf/util/annotate.h | 39 +++----
3 files changed, 123 insertions(+), 105 deletions(-)


base-commit: b6347cb5e04e9c1d17342ab46e2ace2d448de727
--
2.44.0.478.gd926399ef9-goog