-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
GH-130090: build time analysis #131005
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
GH-130090: build time analysis #131005
Conversation
for _freeze_module in case of clang-cl to speed up the build
Speeds up both MSVC and clang-cl builds. Should most probably done in a separate PR and issue, though.
I've previously gotten compile errors from clang, because the needed intrinsics were not available without that option. Cannot reproduce anymore. Most probably, because I've upgraded to Visual Studio 17.13.0 Preview 5.0, which now ships with clang 19.1.1 instead of 18.1.8 and they've done that for compatibility with MSVC? Anyway, let's keep the PR small :)
This reverts commit 26fb51f. Shall be done in a separate PR.
This better matches the behaviour of build.bat in case of MSVC PGO builds.
and make it a target with inputs and outputs
because the name is too MSVC specific
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
@@ -23,7 +23,7 @@ extern "C" { | |||
declaration \ | |||
_GENERATE_DEBUG_SECTION_LINUX(name) | |||
|
|||
#if defined(MS_WINDOWS) | |||
#if defined(MS_WINDOWS)&& !defined(__clang__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interestingly, for debug builds I now need this, too. Never needed before, see #130040 (comment). Will anyway come with that PR...
@@ -420,6 +420,7 @@ | |||
<ClCompile Include="..\Modules\blake2module.c"> | |||
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD128;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
<PreprocessorDefinitions Condition="'$(Platform)' == 'x64'">HACL_CAN_COMPILE_SIMD256;%(PreprocessorDefinitions)</PreprocessorDefinitions> | |||
<AdditionalOptions Condition="'$(Platform)' == 'x64' and '$(LLVMToolsVersion)' < '19'">/arch:AVX</AdditionalOptions> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -0,0 +1,264 @@ | |||
import argparse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a beauty but it creates the tables for me :)
@@ -167,6 +167,30 @@ public override bool Execute() { | |||
</Task> | |||
</UsingTask> | |||
|
|||
<Target Name="BeginTimeStamp" BeforeTargets="PrepareForBuild"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only needed for detailed timings per project. Could be guarded behind a Condition="'$(PrintBuildTimeStamps)' == 'true'"
, in case this shall be merged.
from datetime import datetime, date, time | ||
|
||
# Verstrichene Zeit 00:00:00.74 | ||
msbuild_time_str = "Verstrichene Zeit" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the thing I dislike most: msbuild does this localized :(
Closing, since this served its purpose. Build time analysis is done, in case someone else ever wants to do something like that: |
This is how I generated the tables in #130090.
What to do with it?
Don't know, whether we want anything of that branch. Most probably just close.