Bump for exposure. On Fri, Feb 12, 2021 at 1:16 PM Bill Wendling <morbo@xxxxxxxxxx> wrote: > > Hey gang, > > I would like your feedback on this patch. > > This patch creates one hash table that all CUs share. The impetus for this > patch is to support clang's LTO (Link-Time Optimizations). Currently, pahole > can't handle the DWARF data that clang produces, because the CUs may refer to > tags in other CUs (all of the code having been squozen together). > > One solution I found is to process the CUs in two steps: > > 1. add the CUs into a single hash table, and > 2. perform the recoding and finalization steps in a a separate step. > > The issue I'm facing with this patch is that it balloons the runtime from > ~11.11s to ~14.27s. It looks like the underlying cause is that some (but not > all) hash buckets have thousands of entries each. I've bumped up the > HASHTAGS__BITS from 15 to 16, which helped a little. Bumping it up to 17 or > above causes a failure. > > A couple of things I thought of may help. We could increase the number of > buckets, which would help with distribution. As I mentioned though, that seemed > to cause a failure. Another option is to store the bucket entries in a > non-list, e.g. binary search tree. > > I wanted to get your opinions before I trod down one of these roads. > > Share and enjoy! > -bw > > Bill Wendling (1): > dwarf_loader: have all CUs use a single hash table > > dwarf_loader.c | 45 +++++++++++++++++++++++++++++++++------------ > 1 file changed, 33 insertions(+), 12 deletions(-) > > -- > 2.30.0.478.g8a0d178c01-goog >