[all-commits] [llvm/llvm-project] 0dbdc2: [lldb] Add ability to rate-limit progress reports ...
Pavel Labath via All-commits
all-commits at lists.llvm.org
Mon Dec 16 02:36:05 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
https://github.com/llvm/llvm-project/commit/0dbdc23e78ac1f34a5b563f2db73f9ca64714fac
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Core/Progress.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list