Processing 2 GB XRay traces with "llvm-xray convert -symbolize" needs to
go over each trace record and symbolize the function name refered to by
its ID. Currently this happens by asking the LLVM symbolizer code every
single time. A simple cache can save around 30 minutes of processing of
my testing trace which took ~100 minutes at HEAD and ~40 minutes with
D43892 also in, making the combined speedup around 10×.
llvm-xray's resident memory usage increased negligibly with this cache.
Can you use an llvm::DenseMap instead of the standard (poorly performing) one instead?