aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2024-12-16 11:35:43 +0100
committerGitHub <noreply@github.com>2024-12-16 11:35:43 +0100
commit0dbdc23e78ac1f34a5b563f2db73f9ca64714fac (patch)
treea0e9df73a9ead4729057902683900c82d560e403 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parente31c70d9fa9ba4e61ecf0b34fbc6da2785e60eb6 (diff)
downloadllvm-0dbdc23e78ac1f34a5b563f2db73f9ca64714fac.zip
llvm-0dbdc23e78ac1f34a5b563f2db73f9ca64714fac.tar.gz
llvm-0dbdc23e78ac1f34a5b563f2db73f9ca64714fac.tar.bz2
[lldb] Add ability to rate-limit progress reports (#119377)
For high-frequency multithreaded progress reports, the contention of taking the progress mutex and the overhead of generating event can significantly slow down the operation whose progress we are reporting. This patch adds an (optional) capability to rate-limit them. It's optional because this approach has one drawback: if the progress reporting has a pattern where it generates a burst of activity and then blocks (without reporting anything) for a large amount of time, it can appear as if less progress was made that it actually was (because we only reported the first event from the burst and dropped the other ones). I've also made a small refactor of the Progress class to better distinguish between const (don't need protection), atomic (are used on the hot path) and other (need mutex protection) members.
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions