[all-commits] [llvm/llvm-project] c30853: [lldb] Rate limit progress reports -- different ap...

Pavel Labath via All-commits all-commits at lists.llvm.org
Fri Jun 16 00:09:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c30853460da7446f92bc1e516f9cbe2c5df6e136
      https://github.com/llvm/llvm-project/commit/c30853460da7446f92bc1e516f9cbe2c5df6e136
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2023-06-16 (Fri, 16 Jun 2023)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h
    M lldb/source/Core/Progress.cpp

  Log Message:
  -----------
  [lldb] Rate limit progress reports -- different approach [WIP-ish]

Have the Progress class spawn a thread to periodically send progress
reports.

The reporting period could be made configurable, but for now I've
hardcoded it to 100ms. (This is the main WIP part)

It could be argued that creating a thread for progress reporting adds
overhead, but I would counter that by saying "If the task is so fast
that creating a thread noticably slows it down, then it really doesn't
need progress reporting".

For me, this speeds up DWARF indexing by about 1.5% (which is only
slightly above the error bars), but I expect it will have a much bigger
impact in situations where printing a single progress update takes a
nontrivial amount of time.

Differential Revision: https://reviews.llvm.org/D152364


  Commit: 244fcecb90fa7a3fb710ca5768d3bae9af5868cc
      https://github.com/llvm/llvm-project/commit/244fcecb90fa7a3fb710ca5768d3bae9af5868cc
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2023-06-16 (Fri, 16 Jun 2023)

  Changed paths:
    M lldb/unittests/Host/MainLoopTest.cpp

  Log Message:
  -----------
  [lldb] Fix MainLoopTest for changes in D152712


Compare: https://github.com/llvm/llvm-project/compare/11ebe3d90655...244fcecb90fa


More information about the All-commits mailing list