Skip to content

CI-unixish.yml: added callgrind runs with -O3 and LTO#577

Draft
firewave wants to merge 3 commits intodanmar:masterfrom
firewave:lto
Draft

CI-unixish.yml: added callgrind runs with -O3 and LTO#577
firewave wants to merge 3 commits intodanmar:masterfrom
firewave:lto

Conversation

@firewave
Copy link
Copy Markdown
Collaborator

No description provided.

@firewave
Copy link
Copy Markdown
Collaborator Author

firewave commented Oct 28, 2025

This is to make sure that we (well, me) do not try to mess with code which can actually be optimized by the compiler.

From my local system with CXX=g++ VALGRIND_TOOL=callgrind SIMPLECPP_PATH=simplecpp-1.5.1 ./selfcheck.sh:

g++ -O2 - 66,196,507 / 1,217,069,685
g++ -O2 -flto - 64,854,450 / 1,185,122,059
g++ -O3 - 65,023,794 / 1,198,427,777
g++ -O3 -flto - 65,153,503 / 1,190,654,841
clang++ -O2 - 67,422,122 / 1,227,600,090
clang++ -O2 -flto - 66,823,868 / 1,213,656,996
clang++ -O3 - 65,293,400 / 1,177,431,242
clang++ -O3 -flto - 64,801,161 / 1,164,063,469

The differences could well just be inaccuracies within callgrind but I have not looked into it yet.

@firewave firewave force-pushed the lto branch 3 times, most recently from 9505c2e to 1edac2f Compare April 16, 2026 13:28
@firewave firewave changed the title CI-unixish.yml: use LTO in the callgrind step CI-unixish.yml: added callgrind runs with -O3 and LTO Apr 16, 2026
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