On 9/5/25 11:38 AM, Tom Tromey wrote: >>>>>> "Kevin" == Kevin Buettner writes: > > Kevin> This version 2 commit > Kevin> adds that by making DW_TAG_subprogram declarations "interesting" to > Kevin> the indexer. The changes which do this are in gdb/dwarf2/abbrev.c > Kevin> and gdb/dwarf2/cooked-indexer.c. > > I have some questions about this change. > > How many symbols does it add, and what performance impact does it have? > I tend to think the indexer is fast primarily because it skips DIEs, but > IIUC this will have it read many more. To measure this, I do: $ ./gdb -nx -q --data-directory=data-directory -ex 'maint set dwarf sync on' -ex 'maintenance set per-command time on' Then, use the "file" command. For example, I ran gdb on libxul.so.debug without and with this patch applied, see the two attached files. The longest "DWARF indexing worker" step went from wall 0.668, user 0.574, sys 0.093, user+sys 0.667, 99.9 % CPU to wall 0.792, user 0.664, sys 0.124, user+sys 0.788, 99.5 % CPU The longest "DWARF finalize worker" step went from wall 1.691, user 1.687, sys 0.003, user+sys 1.690, 99.9 % CPU to wall 3.650, user 3.626, sys 0.008, user+sys 3.634, 99.6 % CPU The complete file command went from 13.375465 (cpu), 3.019934 (wall) to 23.984434 (cpu), 5.163825 (wall) Simon