Skip to content

intel/perf: rework code generator to produce one file per generation

@mslusarz noticed that compiling the generated file took a long time. We updated the approach in IGT already to split things up and this change is about importing the same changes.

Signed-off-by: Lionel Landwerlin lionel.g.landwerlin@intel.com Closes: #4899 (closed)

before this change, including acc2d08cf908a5 ("intel/perf: use a function to do common allocations"):
djdeath@uxy:~/src/mesa-src/mesa/build$ time ninja src/intel/perf/libintel_perf.a
[6/6] Linking static target src/intel/perf/libintel_perf.a

real	0m3.959s
user	0m4.017s
sys	0m0.184s

$ du -sh src/intel/perf/libintel_perf.a
5.8M	src/intel/perf/libintel_perf.a

$ du -sh src/intel/perf/intel_perf_metrics.c 
12M	src/intel/perf/intel_perf_metrics.c

$ wc -l src/intel/perf/intel_perf_metrics.c 
248951 src/intel/perf/intel_perf_metrics.c


after this change :
$ time ninja src/intel/perf/libintel_perf.a
[82/82] Linking static target src/intel/perf/libintel_perf.a

real	0m1.974s
user	0m12.623s
sys	0m0.968s

$ du -sh src/intel/perf/libintel_perf.a
7.4M	src/intel/perf/libintel_perf.a

$ wc -l src/intel/perf/intel_perf_*.[ch]
  231950 total
Edited by Lionel Landwerlin

Merge request reports