Re: [RFC] symbol lookup cache

Jan Kratochvil
2014-12-04T19:16:11Z

On Mon, 01 Dec 2014 09:23:49 +0100, Doug Evans wrote:
> ..gdb_index helps speed things up for one objfile,
> but when there are 100s (or 1000s) of shared
> libraries, symbol lookup can still take awhile,
> even with .gdb_index.
> [I'm setting aside a planned change to basic
> symbol lookup to use the index better.
> We'll still, I think, want a cache even
> with that change.]

While I have no numbers personally I do not think GDB would still need a cache
after that change.

"Accelerate lookup_symbol_aux_objfile 85x" is so fast in a fraction of second
because it traverses 146426 symtabs. So 146426 is OK but 1979341 was not (it
was in some way more than 1979341 before you refactored symtabs).

I was considering in the past to have some merged .gdb_index for all the
shared libraries used by some app on disk (not just in memory). But that
makes sense for HDD but less for SSD with the regular ~100 libraries. While
it make more sense for Google 1000+ libraries I am not sure if Google always
uses the same set of 1000+ libraries for a given app.

Jan