[Lldb-commits] [lldb] [WIP] [lldb][Progress] Report progress when completing types from DWARF (PR #91452)

Michael Buch via lldb-commits lldb-commits at lists.llvm.org
Fri May 17 09:10:04 PDT 2024


Michael137 wrote:

I attached to clang and printed an expression. That resulted in 16801 calls to `Progress::Increment`, all of which I'm guessing translate to event broadcasts. I collected some timing numbers:
```
<img width="205" alt="image" src="https://github.com/llvm/llvm-project/assets/14071464/97333f8a-2e35-47c9-8cd0-d610daa077fd">
```

So across the various scenarios i tested the slowdown is somewhere between 10-90 ms on average.

> I'd expect that a one of these operations (parsing/importing one type) would be pretty fast, and that the whole process takes so long simply because performing a very large number of these ops.

@labath Mostly that's true. Occasionally these operations can take longer if we end up searching for types/functions across multiple object files (especially with https://github.com/apple/llvm-project/pull/8222). We could certainly consider some sort of rate limiting here. Or maybe find a better place to report progress on?

> Anyway, if the code is recursive, we might need to do something like we did for Swift, with one top-level event and callback that updates the details.

@JDevlieghere @adrian-prantl are there plans to change the presentation layer to prevent this kind of shadowing in the future? Would be nice if all we needed to do was report progress, and not worry about other progress events in the debugger being in-flight

https://github.com/llvm/llvm-project/pull/91452


More information about the lldb-commits mailing list