-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
Support PGO for clang-cl #130090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is now checked in, at least for 32-bit and 64-bit and natively-built ARM64 (cross-compiled ARM64 apparently needs some options that we don't know right now). Thanks @chris-eibl! |
@zanieb asked for build time numbers in #129907 (comment): Numbers in the following tables represent seconds. Please note that the sum of the detailed project times does not match the In the pgupdate details we still see I intentionally branched off commit 9db1a29 to have the same environment.
Debug build times:
Release build times:
PGO build times:
Very interesting: Detailed build times:Detailed debug build times
Detailed release build times
Details pginstrument build times
Details pgupdate build times
|
Feature or enhancement
Proposal:
Support PGO (profile guided optimization) for clang-cl on Windows using a similar approach as done in the Linux makefiles for clang.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
Discussion has started in the PR #129907 while being draft.
Linked PRs
64bit pyperformance results on my Windows 10 PC (dusty i5-4570 CPU) run with
--fast --affinity 0
for commit 9db1a29 withclang 18.1.8 is faster than 19.1.1, and 20.1.0.rc2 with tailcalling is the fastest:
Details
Benchmarks with tag 'apps':
Benchmarks with tag 'asyncio':
Benchmarks with tag 'math':
Benchmarks with tag 'regex':
Benchmarks with tag 'serialize':
Benchmarks with tag 'startup':
Benchmarks with tag 'template':
All benchmarks:
Benchmark hidden because not significant (1): asyncio_tcp_ssl
More benchmarks (including clang-cl 18.1.8, 20.1.0.rc2,
computed gotos
andtailcall
) can be found in https://gist.github.com/chris-eibl/114a42f22563956fdb5cd0335b28c7ae.Raw data is here https://gist.github.com/chris-eibl/c73b02762a7c467e9a410a0aa19c7701.
The text was updated successfully, but these errors were encountered: