[all-commits] [llvm/llvm-project] d4e6e4: Improve debug names index fetching global variable...
jeffreytan81 via All-commits
all-commits at lists.llvm.org
Wed Oct 25 11:46:25 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d4e6e403372fbc62f032d85f22fe0c1aeeb15146
https://github.com/llvm/llvm-project/commit/d4e6e403372fbc62f032d85f22fe0c1aeeb15146
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2023-10-25 (Wed, 25 Oct 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
Log Message:
-----------
Improve debug names index fetching global variables performance (#70231)
While using dwarf5 `.debug_names` in internal large targets, we noticed
a performance issue (around 10 seconds delay) while `lldb-vscode` tries
to show `scopes` for a compile unit. Profiling shows the bottleneck is
inside `DebugNamesDWARFIndex::GetGlobalVariables` which linearly search
all index entries belongs to a compile unit.
This patch improves the performance by using the compile units list to
filter first before checking index entries. This significantly improves
the performance (drops from 10 seconds => under 1 second) in the split
dwarf situation because each compile unit has its own named index.
---------
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
More information about the All-commits
mailing list