Skip to content

fix(iwyu_tool): reduce CPU usage in job polling loop#2005

Merged
kimgr merged 1 commit intoinclude-what-you-use:masterfrom
pierluigilenoci:cs/fix-tool-sleep-interval
Apr 18, 2026
Merged

fix(iwyu_tool): reduce CPU usage in job polling loop#2005
kimgr merged 1 commit intoinclude-what-you-use:masterfrom
pierluigilenoci:cs/fix-tool-sleep-interval

Conversation

@pierluigilenoci
Copy link
Copy Markdown
Contributor

Fixes #1995

The job scheduling loop in iwyu_tool.py used time.sleep(0.0001) (100us), causing 10,000 wakeups per second while waiting for IWYU analysis jobs that typically run for seconds.

This PR changes the sleep interval to 0.1 seconds (10 polls/sec), which is more than sufficient granularity for long-running jobs and significantly reduces CPU and battery usage during analysis runs.

The job polling loop was sleeping 100 microseconds (10,000 wakeups/sec),
causing unnecessary CPU usage when waiting for IWYU analysis jobs that
take seconds to complete.

100ms (10 polls/sec) is sufficient granularity for jobs that run for
seconds, with no perceptible impact on responsiveness.

Addresses include-what-you-use#1995

Signed-off-by: Pierluigi Lenoci <pierluigilenoci@gmail.com>
@pierluigilenoci
Copy link
Copy Markdown
Contributor Author

Hi @kimgr, @bolshakov-a — this is a small fix to reduce CPU usage in the job polling loop in iwyu_tool.py. Would you be willing to review? Thank you!

@bolshakov-a
Copy link
Copy Markdown
Contributor

Looks reasonable, but I have no idea how to find the optimum value.

@kimgr
Copy link
Copy Markdown
Contributor

kimgr commented Apr 18, 2026

LGTM. I remember experimenting with that poll delay (it was originally zero), but I see now that we're in no rush since we're just monitoring comparatively long-running child processes. Makes sense.

@kimgr kimgr added this to the iwyu 0.27 milestone Apr 18, 2026
@github-actions
Copy link
Copy Markdown

Informational: IWYU dogfood results

include-what-you-use (exit: 0)
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_ast_util.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_ast_util.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_cache.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_cache.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_driver.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_driver.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_getopt.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_getopt.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_globals.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_globals.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_include_picker.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_include_picker.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_lexer_utils.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_lexer_utils.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_location_util.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_location_util.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/include-what-you-use.dir/iwyu_main.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_main.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_output.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_output.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_path_util.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_path_util.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_port.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_preprocessor.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_preprocessor.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_regex.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_regex.cc
# /home/runner/work/include-what-you-use/include-what-you-use/build/bin/include-what-you-use -Xiwyu --error -Xiwyu --check_also=*/iwyu_port.h -Xiwyu --check_also=*/iwyu_stl_util.h -Xiwyu --check_also=*/iwyu_string_util.h -Xiwyu --check_also=*/iwyu_use_flags.h -Xiwyu --check_also=*/iwyu_version.h -DIWYU_GIT_REV="642c617" -DIWYU_RESOURCE_BINARY_PATH="/usr/lib/llvm-23/bin/clang-23" -DIWYU_RESOURCE_DIR="" -D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm-23/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -std=c++17 -fno-exceptions -funwind-tables -o CMakeFiles/iwyu.dir/iwyu_verrs.cc.o -c /home/runner/work/include-what-you-use/include-what-you-use/iwyu_verrs.cc

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_ast_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_ast_util.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_cache.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_cache.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_driver.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_driver.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_getopt.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_getopt.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_globals.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_version.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_globals.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_include_picker.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_include_picker.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_lexer_utils.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_lexer_utils.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_location_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_location_util.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_main.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_output.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_output.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_path_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_path_util.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_preprocessor.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_preprocessor.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_regex.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_regex.cc has correct #includes/fwd-decls)


(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_verrs.h has correct #includes/fwd-decls)

(/home/runner/work/include-what-you-use/include-what-you-use/iwyu_verrs.cc has correct #includes/fwd-decls)
fix_includes.py (exit: 0)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_use_flags.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_stl_util.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_string_util.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_ast_util.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_ast_util.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_cache.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_cache.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_driver.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_driver.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_getopt.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_getopt.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_globals.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_version.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_globals.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_include_picker.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_include_picker.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_lexer_utils.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_lexer_utils.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_location_util.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_location_util.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_main.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_output.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_output.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_path_util.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_path_util.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_port.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_preprocessor.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_preprocessor.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_regex.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_regex.cc: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_verrs.h: iwyu reports no contentful changes)
(skipping /home/runner/work/include-what-you-use/include-what-you-use/iwyu_verrs.cc: iwyu reports no contentful changes)
IWYU edited 0 files on your behalf.

@kimgr kimgr merged commit a4f0331 into include-what-you-use:master Apr 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

iwyu_tool.py: polling loop uses time.sleep(0.0001) causing CPU-wasteful busy-wait

3 participants