Skip to content

Commit db56ff8

Browse files
authored
Measure JIT TP in superpmi-diffs (#68292)
1 parent a11266d commit db56ff8

13 files changed

+645
-145
lines changed

eng/pipelines/coreclr/superpmi-diffs.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,16 @@ jobs:
2828
jobParameters:
2929
uploadAs: 'pipelineArtifacts'
3030

31+
- template: /eng/pipelines/common/platform-matrix.yml
32+
parameters:
33+
jobTemplate: /eng/pipelines/coreclr/templates/build-jit-job.yml
34+
buildConfig: release
35+
platforms:
36+
- windows_x64
37+
- windows_x86
38+
jobParameters:
39+
uploadAs: 'pipelineArtifacts'
40+
3141
- template: /eng/pipelines/common/platform-matrix.yml
3242
parameters:
3343
jobTemplate: /eng/pipelines/coreclr/templates/superpmi-diffs-job.yml

eng/pipelines/coreclr/templates/run-superpmi-diffs-job.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
mkdir $(SpmiAsmdiffsLocation)
7474
displayName: Create directories
7575
76-
- script: $(PythonScript) $(Build.SourcesDirectory)/src/coreclr/scripts/superpmi_diffs_setup.py -source_directory $(Build.SourcesDirectory) -product_directory $(buildProductRootFolderPath) -arch $(archType)
76+
- script: $(PythonScript) $(Build.SourcesDirectory)/src/coreclr/scripts/superpmi_diffs_setup.py -source_directory $(Build.SourcesDirectory) -checked_directory $(buildProductRootFolderPath) -release_directory $(releaseProductRootFolderPath) -arch $(archType)
7777
displayName: ${{ format('SuperPMI diffs setup ({0})', parameters.archType) }}
7878

7979
# Run superpmi-diffs.py script in helix

eng/pipelines/coreclr/templates/superpmi-diffs-job.yml

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ parameters:
44
osGroup: '' # required -- operating system for the job
55
osSubgroup: '' # optional -- operating system subgroup
66
pool: ''
7-
timeoutInMinutes: 120 # build timeout
7+
timeoutInMinutes: 180 # build timeout
88
variables: {}
99
helixQueues: ''
1010
dependOnEvaluatePaths: false
@@ -13,8 +13,8 @@ parameters:
1313
jobs:
1414
- template: ${{ parameters.runJobTemplate }}
1515
parameters:
16-
jobName: ${{ format('superpmi_diffs_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
17-
displayName: ${{ format('SuperPMI diffs {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
16+
jobName: ${{ format('superpmi_diffs_{0}{1}_{2}', parameters.osGroup, parameters.osSubgroup, parameters.archType) }}
17+
displayName: ${{ format('SuperPMI diffs {0}{1} {2}', parameters.osGroup, parameters.osSubgroup, parameters.archType) }}
1818
pool: ${{ parameters.pool }}
1919
buildConfig: ${{ parameters.buildConfig }}
2020
archType: ${{ parameters.archType }}
@@ -24,16 +24,37 @@ jobs:
2424
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
2525
helixQueues: ${{ parameters.helixQueues }}
2626
dependsOn:
27-
- ${{ format('coreclr_jit_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
27+
- ${{ format('coreclr_jit_build_{0}{1}_{2}_checked', parameters.osGroup, parameters.osSubgroup, parameters.archType) }}
28+
- ${{ format('coreclr_jit_build_{0}{1}_{2}_release', parameters.osGroup, parameters.osSubgroup, parameters.archType) }}
2829

29-
variables: ${{ parameters.variables }}
30+
variables:
31+
32+
- ${{ each variable in parameters.variables }}:
33+
- ${{ if ne(variable.name, '') }}:
34+
- name: ${{ variable.name }}
35+
value: ${{ variable.value }}
36+
- ${{ if ne(variable.group, '') }}:
37+
- group: ${{ variable.group }}
38+
39+
- name: releaseProductRootFolderPath
40+
value: '$(Build.SourcesDirectory)/artifacts/bin/coreclr/$(osGroup).$(archType).Release'
41+
- name: releaseProductArtifactName
42+
value: 'CoreCLRProduct_${{ parameters.pgoType }}_${{ parameters.runtimeVariant }}_$(osGroup)$(osSubgroup)_$(archType)_release'
3043

3144
steps:
3245

33-
# Download jit builds
46+
# Download jit checked builds
3447
- template: /eng/pipelines/common/download-artifact-step.yml
3548
parameters:
3649
unpackFolder: $(buildProductRootFolderPath)
3750
artifactFileName: '$(buildProductArtifactName)$(archiveExtension)'
3851
artifactName: '$(buildProductArtifactName)'
39-
displayName: 'JIT product build'
52+
displayName: 'JIT checked build'
53+
54+
#Download jit release builds
55+
- template: /eng/pipelines/common/download-artifact-step.yml
56+
parameters:
57+
unpackFolder: $(releaseProductRootFolderPath)
58+
artifactFileName: '$(releaseProductArtifactName)$(archiveExtension)'
59+
artifactName: '$(releaseProductArtifactName)'
60+
displayName: 'JIT release build'

src/coreclr/scripts/jitutil.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ def download_with_progress_urlretrieve(uri, target_location, fail_if_not_found=T
605605
if try_num == num_tries - 1:
606606
raise ex
607607

608-
if ex is urllib.error.HTTPError and ex == 404:
608+
if isinstance(ex, urllib.error.HTTPError) and ex.code == 404:
609609
if fail_if_not_found:
610610
logging.error("HTTP 404 error")
611611
raise ex

src/coreclr/scripts/superpmi-diffs.proj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<!-- Workaround until https://github.com/dotnet/arcade/pull/6179 is not available -->
3232
<HelixResultsDestinationDir>$(BUILD_SOURCESDIRECTORY)\artifacts\helixresults</HelixResultsDestinationDir>
3333
<WorkItemCommand>$(Python) $(ProductDirectory)\superpmi_diffs.py -base_jit_directory $(ProductDirectory)\base -diff_jit_directory $(ProductDirectory)\diff -log_directory $(SuperpmiLogsLocation)</WorkItemCommand>
34-
<WorkItemTimeout>1:00</WorkItemTimeout>
34+
<WorkItemTimeout>2:00</WorkItemTimeout>
3535
</PropertyGroup>
3636

3737
<PropertyGroup>
@@ -68,7 +68,7 @@
6868
<HelixWorkItem Include="@(SPMI_Partition)">
6969
<Command>$(WorkItemCommand) -arch %(HelixWorkItem.Architecture) -platform %(HelixWorkItem.Platform)</Command>
7070
<Timeout>$(WorkItemTimeout)</Timeout>
71-
<DownloadFilesFromResults>superpmi_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).log;superpmi_download_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).log;superpmi_diff_summary_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).md;Asmdiffs_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).zip</DownloadFilesFromResults>
71+
<DownloadFilesFromResults>superpmi_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).log;superpmi_download_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).log;superpmi_diff_summary_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).md;superpmi_tpdiff_summary_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).md;Asmdiffs_%(HelixWorkItem.Platform)_%(HelixWorkItem.Architecture).zip</DownloadFilesFromResults>
7272
</HelixWorkItem>
7373
</ItemGroup>
7474
</Project>

0 commit comments

Comments
 (0)