llunak added a comment.

In D122975#3426575 <https://reviews.llvm.org/D122975#3426575>, @labath wrote:

> I'd like to understand what is the precise thing that you're trying to 
> optimise. If there is like a single hot piece of code that we want to 
> optimise, then we might be able to come up with an different approach (a'la 
> PrefetchModuleSpecs) to achieve the same thing.

F22668124: lldb2.png <https://reviews.llvm.org/F22668124>

The scenario is a repeated lldb start with index cache enabled (and so 
everything necessary cached), the debugged app is debug build of LibreOffice 
Calc (~100 medium-sized C++ libraries). 90% of the CPU time is spent in 
LoadFromCache() calls, because 70% of the CPU time is spent in ConstString (and 
that's after my ConstString optimizations). I don't think there's any other way 
to make it faster other than parallelizing it, although parallelizing only 
LoadFromCache() should be enough and I'd expect that to be limited enough to be 
safe if you expect the lldb codebase is not generally thread-safe. In this 
patch I parallelized higher because it was simple to do it up there, and I 
don't know how to easily get at all the LoadFromCache() calls (especially the 
one called from SymbolFileDWARFDebugMap is relatively deep). If you know how to 
parallelize only that, that works for me too.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122975/new/

https://reviews.llvm.org/D122975

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to