Skip to content

avoid progress-related hot spot in ValueFlowPassRunner::run()#8369

Draft
firewave wants to merge 1 commit intodanmar:mainfrom
firewave:progress-vf
Draft

avoid progress-related hot spot in ValueFlowPassRunner::run()#8369
firewave wants to merge 1 commit intodanmar:mainfrom
firewave:progress-vf

Conversation

@firewave
Copy link
Collaborator

No description provided.

@firewave
Copy link
Collaborator Author

Requires #8358 and #8369 to be merged first.

@firewave
Copy link
Collaborator Author

firewave commented Mar 23, 2026

valgrind --tool=callgrind bin/testrunner TestIO::testScanfArgument TestIO::testPrintfArgumentVariables

Clang 21 3,916,569,339 -> 3,682,134,530

@firewave
Copy link
Collaborator Author

firewave commented Mar 23, 2026

ProgressReporter still has overhead (1,17% of Ir) - this needs to be implemented differently. Also to get rid of the workaround this PR introduced. But should be done in a follow-up.

@sonarqubecloud
Copy link

@firewave
Copy link
Collaborator Author

Runtime of valgrind.

local - before
33,66s user 0,74s system 99% cpu 34,689 total

local - after
30,54s user 0,73s system 98% cpu 31,619 total

CI - before

TestIO::testScanfArgument: 45.862s (avg. 45.862s - 1 result(s))
TestIO::testPrintfArgumentVariables: 23.243s (avg. 23.243s - 1 result(s))

CI - after

TestIO::testScanfArgument: 40.13s (avg. 40.13s - 1 result(s))
TestIO::testPrintfArgumentVariables: 20.681s (avg. 20.681s - 1 result(s))

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.

1 participant