Skip to content

Commit

Permalink
Move jitopt and rpo experiments to PerfVipers (dotnet#102575)
Browse files Browse the repository at this point in the history
* Move jitopt and rpo experiments to PerfVipers

* Remove rpolayout experiment
  • Loading branch information
DrewScoggins authored and steveharter committed May 28, 2024
1 parent 327bb82 commit 55ef80b
Show file tree
Hide file tree
Showing 13 changed files with 38 additions and 314 deletions.
39 changes: 2 additions & 37 deletions eng/pipelines/coreclr/perf-non-wasm-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -255,23 +255,6 @@ jobs:
logicalmachine: 'perftiger'
r2rRunType: --nor2r

# run coreclr perftiger microbenchmarks memory randomization jobs
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
buildConfig: release
runtimeFlavor: coreclr
platforms:
- windows_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
projectFile: microbenchmarks.proj
runKind: micro
runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
logicalmachine: 'perftiger'
experimentName: 'memoryRandomization'

# run coreclr perfowl microbenchmarks perf job
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
Expand Down Expand Up @@ -324,7 +307,7 @@ jobs:
logicalmachine: 'perfowl'
experimentName: 'rlcse'

# run coreclr perfowl microbenchmarks perf jitoptrepeat jobs
# run coreclr perfviper microbenchmarks perf jitoptrepeat jobs
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
Expand All @@ -339,27 +322,9 @@ jobs:
projectFile: microbenchmarks.proj
runKind: micro
runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
logicalmachine: 'perfowl'
logicalmachine: 'perfviper'
experimentName: 'jitoptrepeat'

# run coreclr perfowl microbenchmarks perf rpolayout jobs
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/perf-job.yml
buildConfig: release
runtimeFlavor: coreclr
platforms:
- linux_x64
- windows_x64
jobParameters:
testGroup: perf
liveLibrariesBuildConfig: Release
projectFile: microbenchmarks.proj
runKind: micro
runJobTemplate: /eng/pipelines/coreclr/templates/run-performance-job.yml
logicalmachine: 'perfowl'
experimentName: 'rpolayout'

# run coreclr crossgen perf job
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -796,51 +796,31 @@ public void NonSqlNullableType_RequiresPublicStaticNull()
[Fact]
public void MethodsCalledByReflectionAreNotTrimmed()
{
DataColumn dataColumn = new DataColumn
DataColumn dc = new DataColumn
{
ColumnName = "dataColumn",
DataType = typeof(DateTime)
};

var properties = TypeDescriptor.GetProperties(dataColumn);
var property = properties[nameof(DataColumn.DefaultValue)];
if (property != null)
{
Assert.False(property.ShouldSerializeValue(dataColumn));

dataColumn.DefaultValue = DateTime.MinValue;
Assert.True(property.ShouldSerializeValue(dataColumn));

// Reset method is not available
property.ResetValue(dataColumn);
Assert.Equal(DateTime.MinValue, dataColumn.DefaultValue);
}

property = properties[nameof(DataColumn.Caption)];
if (property != null)
{
Assert.False(property.ShouldSerializeValue(dataColumn));

dataColumn.Caption = "Caption";
Assert.True(property.ShouldSerializeValue(dataColumn));

// Reset method is available
property.ResetValue(dataColumn);
Assert.Equal(nameof(dataColumn), dataColumn.Caption);
}

property = properties[nameof(DataColumn.Namespace)];
if (property != null)
{
Assert.False(property.ShouldSerializeValue(dataColumn));

dataColumn.Namespace = "Namespace";
Assert.True(property.ShouldSerializeValue(dataColumn));

// Reset method is available
property.ResetValue(dataColumn);
Assert.Equal("", dataColumn.Namespace);
}
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(dc);

Assert.False(properties[nameof(DataColumn.DefaultValue)].ShouldSerializeValue(dc));
dc.DefaultValue = DateTime.MinValue;
Assert.True(properties[nameof(DataColumn.DefaultValue)].ShouldSerializeValue(dc));
properties[nameof(DataColumn.DefaultValue)].ResetValue(dc); // Reset method is not available
Assert.Equal(DateTime.MinValue, dc.DefaultValue);

Assert.False(properties[nameof(DataColumn.Caption)].ShouldSerializeValue(dc));
dc.Caption = "Caption";
Assert.True(properties[nameof(DataColumn.Caption)].ShouldSerializeValue(dc));
properties[nameof(DataColumn.Caption)].ResetValue(dc); // Reset method is available
Assert.Equal("dataColumn", dc.Caption);

Assert.False(properties[nameof(DataColumn.Namespace)].ShouldSerializeValue(dc));
dc.Namespace = "Namespace";
Assert.True(properties[nameof(DataColumn.Namespace)].ShouldSerializeValue(dc));
properties[nameof(DataColumn.Namespace)].ResetValue(dc); // Reset method is available
Assert.Equal("", dc.Namespace);
}

private sealed class NullableTypeWithNullProperty : INullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1841,7 +1841,7 @@ public void MethodsCalledByReflectionAreNotTrimmed()

Assert.False(properties[nameof(DataTable.PrimaryKey)].ShouldSerializeValue(dt));
Assert.False(properties[nameof(DataTable.CaseSensitive)].ShouldSerializeValue(dt));
Assert.True(properties[nameof(DataTable.Locale)].ShouldSerializeValue(dt)); // No ResetLocale() method
Assert.True(properties[nameof(DataTable.Locale)].ShouldSerializeValue(dt)); // Reset method is not available
Assert.False(properties[nameof(DataTable.Namespace)].ShouldSerializeValue(dt));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ public sealed class OdbcCommand : DbCommand, ICloneable

private ConnectionState _cmdState;

[DynamicDependency(nameof(ResetCommandTimeout))]
[DynamicDependency(nameof(ShouldSerializeCommandTimeout))]
public OdbcCommand() : base()
{
GC.SuppressFinalize(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ public sealed partial class OdbcParameter : DbParameter, ICloneable, IDataParame

private ODBC32.SQL_C _prepared_Sql_C_Type;

[DynamicDependency(nameof(ResetDbType))] // Calls DbParameter.ResetOdbcType()
[DynamicDependency(nameof(ShouldSerializePrecision))]
[DynamicDependency(nameof(ShouldSerializeScale))]
[DynamicDependency(nameof(ShouldSerializeSize))]
public OdbcParameter() : base()
{
// uses System.Threading!
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

2 changes: 2 additions & 0 deletions src/libraries/System.Data.OleDb/src/OleDbCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ public sealed class OleDbCommand : DbCommand, ICloneable, IDbCommand
private int _changeID;
private int _lastChangeID;

[DynamicDependency(nameof(ResetCommandTimeout))]
[DynamicDependency(nameof(ResetConnection))]
public OleDbCommand() : base()
{
GC.SuppressFinalize(this);
Expand Down
7 changes: 7 additions & 0 deletions src/libraries/System.Data.OleDb/src/OleDbParameter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ public sealed partial class OleDbParameter : DbParameter, ICloneable, IDbDataPar

private NativeDBType? _coerceMetaType;

[DynamicDependency(nameof(ResetDbType))] // Calls ResetOleDbType()
[DynamicDependency(nameof(ResetParent))]
[DynamicDependency(nameof(ResetSize))]
[DynamicDependency(nameof(ShouldSerializeOleDbType))]
[DynamicDependency(nameof(ShouldSerializePrecision))]
[DynamicDependency(nameof(ShouldSerializeScale))]
[DynamicDependency(nameof(ShouldSerializeSize))]
public OleDbParameter() : base()
{ // V1.0 nothing
}
Expand Down

This file was deleted.

Loading

0 comments on commit 55ef80b

Please sign in to comment.