diff options
Diffstat (limited to 'tests/src/JIT/Performance/CodeQuality')
121 files changed, 1850 insertions, 12700 deletions
diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj index 580bd54343..80afc6699a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Adams/Adams.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj index a8c38ad663..174ee76e18 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMk2/BenchMk2.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj index a2acd3bea8..1594ae0a45 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/BenchMrk/BenchMrk.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj index 210f6f1940..70fdb06897 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Bisect/Bisect.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj index 6ca1184365..bd1b084df5 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/DMath/DMath.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj index bfb377fe62..10f39efd08 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/FFT/FFT.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj index 416c1b9662..975bf96f92 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InProd/InProd.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj index c7a4bb91b0..417f1c5631 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/InvMt/InvMt.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj index cabdbd6607..6751cc2492 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/LLoops.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..7e0bac5f31 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/LLoops/THIRD-PARTY-NOTICES @@ -0,0 +1,17 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for Livermore Loops coded in C +--------------------------------------------- + +http://www.netlib.org/benchmark/livermorec + +No specific license is given, so attributing and using in "good faith" +in the same way that it has been offered. We will delete upon request. diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj index 593474426a..1ab94d40c8 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Lorenz/Lorenz.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj index 13238071d2..09454d9218 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/MatInv4/MatInv4.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj index dcf02d3f67..1213cae10a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtE/NewtE.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj index 1502b85410..a6f11c0f06 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/NewtR/NewtR.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj index 4cd3e0e069..37fa54eda8 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Regula/Regula.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj index 64bbe04cdb..ca2c525458 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Romber/Romber.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj index 1a0758ba51..27e3773834 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Secant/Secant.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj index 67f81313f6..d7b09af860 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Simpsn/Simpsn.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj index d371554449..90d780e258 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/SqMtx/SqMtx.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj index 8a46ca61d7..e9f704cf6b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Trap/Trap.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj index 46898e3188..02eaf525e9 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchF/Whetsto/Whetsto.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj index efef461379..a4c3de5674 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/8Queens/8Queens.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj index 8d0feb5a01..8f72e1c87e 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Ackermann/Ackermann.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj index 2fd1aae521..ffadd54595 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray/AddArray.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj index cb8f12ddb2..2619b38c0c 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/AddArray2/AddArray2.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj index b7d7918823..cb1ed7b648 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array1/Array1.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj index 0932bfb0ea..b368d85bda 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Array2/Array2.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj index 0def91ffa2..6d58dc402f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BenchE/BenchE.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj index 6fabe89c8e..776afa72c0 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort/BubbleSort.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj index 7b5fb93ed9..448892e8eb 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/BubbleSort2/BubbleSort2.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj index 599dcd7b74..edbab6006b 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/CSieve/CSieve.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj index 2b8c995bd8..ff30f8ccf7 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Fib/Fib.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj index 2afbe54997..270e55060f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/HeapSort/HeapSort.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj index 2fab51071a..bcf7b40d72 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/IniArray/IniArray.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj index 0281fb4ca7..669a0efdd5 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/LogicArray/LogicArray.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj index e7e379be83..666ba47ce2 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Midpoint/Midpoint.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj index 5046b02d9e..78573f88cc 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/MulMatrix/MulMatrix.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj index ea175a5d04..5622ad71d2 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/NDhrystone/NDhrystone.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj index cbe2114304..63339c8903 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Permutate/Permutate.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj index d7d212eace..5228f957ba 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Pi/Pi.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj index 185bb7c08e..ea10a44d83 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/Puzzle/Puzzle.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj index f079692c3c..f16d1d38b1 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/QuickSort/QuickSort.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj index 919c7d2b6e..caa2de7720 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeInsert/TreeInsert.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj index b9f78517a9..9d253e28b4 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/TreeSort/TreeSort.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj index 922fd5fc39..a234c09352 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchI/XposMatrix/XposMatrix.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..2efc37d6e9 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/THIRD-PARTY-NOTICES @@ -0,0 +1,46 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for The Computer Language Benchmarks Game +--------------------------- + +Revised BSD license + +This is a specific instance of the Open Source Initiative (OSI) BSD license template +http://www.opensource.org/licenses/bsd-license.php + +Copyright (c) 2004-2008 Brent Fulgham, 2005-2015 Isaac Gouy +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + Neither the name of "The Computer Language Benchmarks Game" nor the name of + "The Computer Language Shootout Benchmarks" nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj index 257a1d8466..3cbf952833 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> <GCStressIncompatible>true</GCStressIncompatible> </PropertyGroup> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj index 169e33d322..a7c8f2daf3 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/binarytrees/binarytrees3.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> <GCStressIncompatible>true</GCStressIncompatible> </PropertyGroup> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj index c153dfae39..259d5e8ff3 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fasta/fasta.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj index 38459d270f..8d77905de9 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/fastaredux/fastaredux.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj index 94e1dfbda8..097a3a2534 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/k-nucleotide/k-nucleotide.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj index 8bf75d660e..f8c3785f54 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/nbody/nbody.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj index 005e93a306..7396e3b00f 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/pidigits/pi-digits.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj index e77f257b42..6f334e9afb 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/regexdna/regexdna.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj index b44017b188..69d39df429 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/revcomp/revcomp.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj index 74ec22ac53..e12feab89a 100644 --- a/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj +++ b/tests/src/JIT/Performance/CodeQuality/BenchmarksGame/spectralnorm/spectralnorm.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs index 11eccec14d..02dafa2dda 100644 --- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs +++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.cs @@ -5,7 +5,8 @@ // .NET SIMD to solve Burgers' equation // // Benchmark based on -// http://taumuon-jabuka.blogspot.co.uk/2014/10/net-simd-to-solve-burgers-equation.html +// https://github.com/taumuon/SIMD-Vectorisation-Burgers-Equation-CSharp +// http://www.taumuon.co.uk/2014/10/net-simd-to-solve-burgers-equation.html using Microsoft.Xunit.Performance; using System; diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj index c26f227657..0f57308962 100644 --- a/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Burgers/Burgers.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..48cfac483f --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Burgers/THIRD-PARTY-NOTICES @@ -0,0 +1,34 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for SIMD-Vectorisation-Burgers-Equation-CSharp +------------------------------------------------------------- + +MIT License + +Copyright (c) 2017 Gary Evans + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs index 10699c67dc..280744bf5b 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/ByteMark.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. @@ -120,10 +116,12 @@ internal class global public const int LUARRAYROWS = 101; public const int LUARRAYCOLS = 101; - // EMFLOAT constants public const int CPUEMFLOATLOOPMAX = 50000; public const int EMFARRAYSIZE = 3000; + + // FOURIER constants + public const int FOURIERARRAYSIZE = 100; } /* @@ -183,7 +181,7 @@ public abstract class HuffStruct : HarnessTest public abstract class FourierStruct : HarnessTest { - public int arraysize; /* Size of coeff. arrays */ + public int arraysize = global.FOURIERARRAYSIZE; public override void ShowStats() { ByteMark.OutputString( @@ -1261,15 +1259,15 @@ public class ByteMark global.write_to_file = false; } - const int NumericSortJaggedIterations = 20; + const int NumericSortJaggedIterations = 10; [Benchmark] public static void BenchNumericSortJagged() { Setup(); NumericSortJagged t = new NumericSortJagged(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 200; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1283,15 +1281,15 @@ public class ByteMark } } - const int NumericSortRectangularIterations = 20; + const int NumericSortRectangularIterations = 5; [Benchmark] public static void BenchNumericSortRectangular() { Setup(); NumericSortRect t = new NumericSortRect(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 200; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1312,8 +1310,8 @@ public class ByteMark { Setup(); StringSort t = new StringSort(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 40; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1326,14 +1324,15 @@ public class ByteMark } } } - const int BitOpsIterations = 15; + + const int BitOpsIterations = 100000; [Benchmark] public static void BenchBitOps() { Setup(); BitOps t = new BitOps(); - t.adjust = 0; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1347,15 +1346,15 @@ public class ByteMark } } - const int EmFloatIterations = 8; + const int EmFloatIterations = 10; [Benchmark] public static void BenchEmFloat() { Setup(); EmFloatStruct t = new EMFloat(); - t.loops = 100; - t.adjust = 0; + t.loops = 50; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1369,15 +1368,15 @@ public class ByteMark } } - const int EmFloatClassIterations = 8; + const int EmFloatClassIterations = 2; [Benchmark] public static void BenchEmFloatClass() { Setup(); EmFloatStruct t = new EMFloatClass(); - t.loops = 100; - t.adjust = 0; + t.loops = 50; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1391,14 +1390,14 @@ public class ByteMark } } - const int FourierIterations = 20; + const int FourierIterations = 300; [Benchmark] public static void BenchFourier() { Setup(); FourierStruct t = new Fourier(); - t.adjust = 0; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1412,15 +1411,15 @@ public class ByteMark } } - const int AssignJaggedIterations = 15; + const int AssignJaggedIterations = 2; [Benchmark] public static void BenchAssignJagged() { Setup(); AssignStruct t = new AssignJagged(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 25; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1434,15 +1433,15 @@ public class ByteMark } } - const int AssignRectangularIterations = 20; + const int AssignRectangularIterations = 5; [Benchmark] public static void BenchAssignRectangular() { Setup(); AssignStruct t = new AssignRect(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 10; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1456,7 +1455,7 @@ public class ByteMark } } - const int IDEAEncryptionIterations = 20; + const int IDEAEncryptionIterations = 50; [Benchmark] public static void BenchIDEAEncryption() @@ -1464,7 +1463,7 @@ public class ByteMark Setup(); IDEAStruct t = new IDEAEncryption(); t.loops = 100; - t.adjust = 0; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1478,15 +1477,15 @@ public class ByteMark } } - const int NeuralJaggedIterations = 20; + const int NeuralJaggedIterations = 10; [Benchmark] public static void BenchNeuralJagged() { Setup(); NNetStruct t = new NeuralJagged(); - t.loops = 100; - t.adjust = 0; + t.loops = 3; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1500,15 +1499,15 @@ public class ByteMark } } - const int NeuralIterations = 12; + const int NeuralIterations = 20; [Benchmark] public static void BenchNeural() { Setup(); NNetStruct t = new Neural(); - t.loops = 100; - t.adjust = 0; + t.loops = 1; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { @@ -1522,15 +1521,15 @@ public class ByteMark } } - const int LUDecompIterations = 20; + const int LUDecompIterations = 10; [Benchmark] public static void BenchLUDecomp() { Setup(); LUStruct t = new LUDecomp(); - t.numarrays = 1000; - t.adjust = 0; + t.numarrays = 250; + t.adjust = 1; foreach (var iteration in Benchmark.Iterations) { diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj index 160660c9df..26a64c6e89 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/Bytemark.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,19 +7,15 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> <GCStressIncompatible>true</GCStressIncompatible> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -54,6 +50,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs index bfe9965919..f398b0ad10 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/Huffman.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs index e4888b2edd..12238e4447 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/StringSort.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..3fe8ed3e4b --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/THIRD-PARTY-NOTICES @@ -0,0 +1,38 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for ByteMark +--------------------------- + +https://github.com/santoshsahoo/nbench (mirror of the same code) + +/* +** BYTEmark (tm) +** BYTE Magazine's Native Mode benchmarks +** Rick Grehan, BYTE Magazine +** +** Create: +** Revision: 3/95 +** +** DISCLAIMER +** The source, executable, and documentation files that comprise +** the BYTEmark benchmarks are made available on an "as is" basis. +** This means that we at BYTE Magazine have made every reasonable +** effort to verify that the there are no errors in the source and +** executable code. We cannot, however, guarantee that the programs +** are error-free. Consequently, McGraw-HIll and BYTE Magazine make +** no claims in regard to the fitness of the source code, executable +** code, and documentation of the BYTEmark. +** +** Furthermore, BYTE Magazine, McGraw-Hill, and all employees +** of McGraw-Hill cannot be held responsible for any damages resulting +** from the use of this code or the results obtained from using +** this code. +*/ diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs index 1ad69ff129..42c5d780fd 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_jagged.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs index 43cab8a0ea..ac49cddddf 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/assign_rect.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs index d692eeea23..41a006f2fc 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/bitops.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs index e61b9380ab..1fba85cef8 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloat.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs index 0ae261c16b..6d90823dfd 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/emfloatclass.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs index e2e0a5d609..1ef2f55085 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/fourier.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs index 732a8f0ec9..9fa8dc212d 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/idea.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs index d45a51df59..e2ce4d80f2 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/ludecomp.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs index 6e3ab36b94..e7104a6e4a 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural-dat.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs index 9e842c3910..73854ee9cc 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neural.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs index d9dd199c98..2276fde3de 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/neuraljagged.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs b/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs index 44da6e3a71..76484b34c5 100644 --- a/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs +++ b/tests/src/JIT/Performance/CodeQuality/Bytemark/numericsort.cs @@ -2,10 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /* -** Copyright (c) Microsoft. All rights reserved. -** Licensed under the MIT license. -** See LICENSE file in the project root for full license information. -** ** This program was translated to C# and adapted for xunit-performance. ** New variants of several tests were added to compare class versus ** struct and to compare jagged arrays vs multi-dimensional arrays. diff --git a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj index d5ad1554b5..af7ce3b4c9 100644 --- a/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj +++ b/tests/src/JIT/Performance/CodeQuality/FractalPerf/FractalPerf.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs deleted file mode 100644 index 3b28f87fe5..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsByte -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Bytes feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static byte Five = 5; - static byte Ten = 10; - - static byte Id(byte x) - { - return x; - } - - static byte F00(byte x) - { - return (byte) (x * x); - } - - static bool Bench00p() - { - byte t = 10; - byte f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - byte t = Ten; - byte f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - byte t = Id(10); - byte f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - byte t = Id(Ten); - byte f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - byte t = Id(10); - byte f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - byte t = Id(Ten); - byte f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - byte t = 10; - byte f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - byte t = Ten; - byte f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - byte t = 5; - byte f = F00((byte)(2 * t)); - return (f == 100); - } - - static bool Bench00n4() - { - byte t = Five; - byte f = F00((byte)(2 * t)); - return (f == 100); - } - - static byte F01(byte x) - { - return (byte)(1000 / x); - } - - static bool Bench01p() - { - byte t = 10; - byte f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - byte t = Ten; - byte f = F01(t); - return (f == 100); - } - - static byte F02(byte x) - { - return (byte) (20 * (x / 2)); - } - - static bool Bench02p() - { - byte t = 10; - byte f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - byte t = Ten; - byte f = F02(t); - return (f == 100); - } - - static byte F03(byte x) - { - return (byte)(91 + 1009 % x); - } - - static bool Bench03p() - { - byte t = 10; - byte f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - byte t = Ten; - byte f = F03(t); - return (f == 100); - } - - static byte F04(byte x) - { - return (byte)(50 * (x % 4)); - } - - static bool Bench04p() - { - byte t = 10; - byte f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - byte t = Ten; - byte f = F04(t); - return (f == 100); - } - - static byte F05(byte x) - { - return (byte)((1 << x) - 924); - } - - static bool Bench05p() - { - byte t = 10; - byte f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - byte t = Ten; - byte f = F05(t); - return (f == 100); - } - - static byte F051(byte x) - { - return (byte)(102400 >> x); - } - - static bool Bench05p1() - { - byte t = 10; - byte f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - byte t = Ten; - byte f = F051(t); - return (f == 100); - } - - static byte F06(byte x) - { - return (byte)(-x + 110); - } - - static bool Bench06p() - { - byte t = 10; - byte f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - byte t = Ten; - byte f = F06(t); - return (f == 100); - } - - static byte F07(byte x) - { - return (byte)(~x + 111); - } - - static bool Bench07p() - { - byte t = 10; - byte f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - byte t = Ten; - byte f = F07(t); - return (f == 100); - } - - static byte F071(byte x) - { - return (byte)((x ^ -1) + 111); - } - - static bool Bench07p1() - { - byte t = 10; - byte f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - byte t = Ten; - byte f = F071(t); - return (f == 100); - } - - static byte F08(byte x) - { - return (byte)((x & 0x7) + 98); - } - - static bool Bench08p() - { - byte t = 10; - byte f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - byte t = Ten; - byte f = F08(t); - return (f == 100); - } - - static byte F09(byte x) - { - return (byte)((x | 0x7) + 85); - } - - static bool Bench09p() - { - byte t = 10; - byte f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - byte t = Ten; - byte f = F09(t); - return (f == 100); - } - - // Bytes feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static byte F10(byte x) - { - return x == 10 ? (byte) 100 : (byte) 0; - } - - static bool Bench10p() - { - byte t = 10; - byte f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - byte t = Ten; - byte f = F10(t); - return (f == 100); - } - - static byte F101(byte x) - { - return x != 10 ? (byte) 0 : (byte) 100; - } - - static bool Bench10p1() - { - byte t = 10; - byte f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - byte t = Ten; - byte f = F101(t); - return (f == 100); - } - - static byte F102(byte x) - { - return x >= 10 ? (byte) 100 : (byte) 0; - } - - static bool Bench10p2() - { - byte t = 10; - byte f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - byte t = Ten; - byte f = F102(t); - return (f == 100); - } - - static byte F103(byte x) - { - return x <= 10 ? (byte) 100 : (byte) 0; - } - - static bool Bench10p3() - { - byte t = 10; - byte f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - byte t = Ten; - byte f = F102(t); - return (f == 100); - } - - static byte F11(byte x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - byte t = 10; - byte f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - byte t = Ten; - byte f = F11(t); - return (f == 100); - } - - static byte F111(byte x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - byte t = 10; - byte f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - byte t = Ten; - byte f = F111(t); - return (f == 100); - } - - static byte F112(byte x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - byte t = 10; - byte f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - byte t = Ten; - byte f = F112(t); - return (f == 100); - } - static byte F113(byte x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - byte t = 10; - byte f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - byte t = Ten; - byte f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static byte F20(byte x) - { - return 100; - } - - static bool Bench20p() - { - byte t = 10; - byte f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - byte t = Ten; - byte f = F20(t); - return (f == 100); - } - - static byte F21(byte x) - { - return (byte)(-x + 100 + x); - } - - static bool Bench21p() - { - byte t = 10; - byte f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - byte t = Ten; - byte f = F21(t); - return (f == 100); - } - - static byte F211(byte x) - { - return (byte)(x - x + 100); - } - - static bool Bench21p1() - { - byte t = 10; - byte f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - byte t = Ten; - byte f = F211(t); - return (f == 100); - } - - static byte F22(byte x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - byte t = 10; - byte f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - byte t = Ten; - byte f = F22(t); - return (f == 100); - } - - static byte F23(byte x) - { - if (x > 0) - { - return (byte)(90 + x); - } - - return 100; - } - - static bool Bench23p() - { - byte t = 10; - byte f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - byte t = Ten; - byte f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static byte F30(byte x, byte y) - { - return (byte)(y * y); - } - - static bool Bench30p() - { - byte t = 10; - byte f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - byte t = Ten; - byte f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - byte s = Ten; - byte t = 10; - byte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - byte s = 10; - byte t = Ten; - byte f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - byte s = 10; - byte t = 10; - byte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - byte s = Ten; - byte t = Ten; - byte f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - byte s = 10; - byte t = s; - byte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - byte s = Ten; - byte t = s; - byte f = F30(s, t); - return (f == 100); - } - - static byte F31(byte x, byte y, byte z) - { - return (byte)(z * z); - } - - static bool Bench31p() - { - byte t = 10; - byte f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - byte t = Ten; - byte f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - byte r = Ten; - byte s = Ten; - byte t = 10; - byte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - byte r = 10; - byte s = 10; - byte t = Ten; - byte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - byte r = 10; - byte s = 10; - byte t = 10; - byte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - byte r = Ten; - byte s = Ten; - byte t = Ten; - byte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - byte r = 10; - byte s = r; - byte t = s; - byte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - byte r = Ten; - byte s = r; - byte t = s; - byte f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static byte F40(byte x, byte y) - { - return (byte)(x * x + y * y - 100); - } - - static bool Bench40p() - { - byte t = 10; - byte f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - byte t = Ten; - byte f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - byte s = Ten; - byte t = 10; - byte f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - byte s = 10; - byte t = Ten; - byte f = F40(s, t); - return (f == 100); - } - - static byte F41(byte x, byte y) - { - return (byte)(x * y); - } - - static bool Bench41p() - { - byte t = 10; - byte f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - byte t = Ten; - byte f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - byte s = 10; - byte t = Ten; - byte f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - byte s = Ten; - byte t = 10; - byte f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsByte).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj deleted file mode 100644 index 54a8a77e03..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsByte.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs deleted file mode 100644 index 0cc4b9c558..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsChar -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Chars feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static char Five = (char) 5; - static char Ten = (char) 10; - - static char Id(char x) - { - return x; - } - - static char F00(char x) - { - return (char) (x * x); - } - - static bool Bench00p() - { - char t = (char) 10; - char f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - char t = Ten; - char f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - char t = Id((char)10); - char f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - char t = Id(Ten); - char f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - char t = Id((char)10); - char f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - char t = Id(Ten); - char f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - char t = (char) 10; - char f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - char t = Ten; - char f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - char t = (char) 5; - char f = F00((char)(2 * t)); - return (f == 100); - } - - static bool Bench00n4() - { - char t = Five; - char f = F00((char)(2 * t)); - return (f == 100); - } - - static char F01(char x) - { - return (char)(1000 / x); - } - - static bool Bench01p() - { - char t = (char) 10; - char f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - char t = Ten; - char f = F01(t); - return (f == 100); - } - - static char F02(char x) - { - return (char) (20 * (x / 2)); - } - - static bool Bench02p() - { - char t = (char) 10; - char f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - char t = Ten; - char f = F02(t); - return (f == 100); - } - - static char F03(char x) - { - return (char)(91 + 1009 % x); - } - - static bool Bench03p() - { - char t = (char) 10; - char f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - char t = Ten; - char f = F03(t); - return (f == 100); - } - - static char F04(char x) - { - return (char)(50 * (x % 4)); - } - - static bool Bench04p() - { - char t = (char) 10; - char f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - char t = Ten; - char f = F04(t); - return (f == 100); - } - - static char F05(char x) - { - return (char)((1 << x) - 924); - } - - static bool Bench05p() - { - char t = (char) 10; - char f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - char t = Ten; - char f = F05(t); - return (f == 100); - } - - static char F051(char x) - { - return (char)(102400 >> x); - } - - static bool Bench05p1() - { - char t = (char) 10; - char f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - char t = Ten; - char f = F051(t); - return (f == 100); - } - - static char F06(char x) - { - return (char)(-x + 110); - } - - static bool Bench06p() - { - char t = (char) 10; - char f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - char t = Ten; - char f = F06(t); - return (f == 100); - } - - static char F07(char x) - { - return (char)(~x + 111); - } - - static bool Bench07p() - { - char t = (char) 10; - char f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - char t = Ten; - char f = F07(t); - return (f == 100); - } - - static char F071(char x) - { - return (char)((x ^ -1) + 111); - } - - static bool Bench07p1() - { - char t = (char) 10; - char f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - char t = Ten; - char f = F071(t); - return (f == 100); - } - - static char F08(char x) - { - return (char)((x & 0x7) + 98); - } - - static bool Bench08p() - { - char t = (char) 10; - char f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - char t = Ten; - char f = F08(t); - return (f == 100); - } - - static char F09(char x) - { - return (char)((x | 0x7) + 85); - } - - static bool Bench09p() - { - char t = (char) 10; - char f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - char t = Ten; - char f = F09(t); - return (f == 100); - } - - // Chars feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static char F10(char x) - { - return x == 10 ? (char) 100 : (char) 0; - } - - static bool Bench10p() - { - char t = (char) 10; - char f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - char t = Ten; - char f = F10(t); - return (f == 100); - } - - static char F101(char x) - { - return x != 10 ? (char) 0 : (char) 100; - } - - static bool Bench10p1() - { - char t = (char) 10; - char f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - char t = Ten; - char f = F101(t); - return (f == 100); - } - - static char F102(char x) - { - return x >= 10 ? (char) 100 : (char) 0; - } - - static bool Bench10p2() - { - char t = (char) 10; - char f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - char t = Ten; - char f = F102(t); - return (f == 100); - } - - static char F103(char x) - { - return x <= 10 ? (char) 100 : (char) 0; - } - - static bool Bench10p3() - { - char t = (char) 10; - char f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - char t = Ten; - char f = F102(t); - return (f == 100); - } - - static char F11(char x) - { - if (x == 10) - { - return (char) 100; - } - else - { - return (char) 0; - } - } - - static bool Bench11p() - { - char t = (char) 10; - char f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - char t = Ten; - char f = F11(t); - return (f == 100); - } - - static char F111(char x) - { - if (x != 10) - { - return (char) 0; - } - else - { - return (char) 100; - } - } - - static bool Bench11p1() - { - char t = (char) 10; - char f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - char t = Ten; - char f = F111(t); - return (f == 100); - } - - static char F112(char x) - { - if (x > 10) - { - return (char) 0; - } - else - { - return (char) 100; - } - } - - static bool Bench11p2() - { - char t = (char) 10; - char f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - char t = Ten; - char f = F112(t); - return (f == 100); - } - static char F113(char x) - { - if (x < 10) - { - return (char) 0; - } - else - { - return (char) 100; - } - } - - static bool Bench11p3() - { - char t = (char) 10; - char f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - char t = Ten; - char f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static char F20(char x) - { - return (char) 100; - } - - static bool Bench20p() - { - char t = (char) 10; - char f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - char t = Ten; - char f = F20(t); - return (f == 100); - } - - static char F21(char x) - { - return (char)(-x + 100 + x); - } - - static bool Bench21p() - { - char t = (char) 10; - char f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - char t = Ten; - char f = F21(t); - return (f == 100); - } - - static char F211(char x) - { - return (char)(x - x + 100); - } - - static bool Bench21p1() - { - char t = (char) 10; - char f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - char t = Ten; - char f = F211(t); - return (f == 100); - } - - static char F22(char x) - { - if (x > 0) - { - return (char) 100; - } - - return (char) 100; - } - - static bool Bench22p() - { - char t = (char) 10; - char f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - char t = Ten; - char f = F22(t); - return (f == 100); - } - - static char F23(char x) - { - if (x > 0) - { - return (char)(90 + x); - } - - return (char) 100; - } - - static bool Bench23p() - { - char t = (char) 10; - char f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - char t = Ten; - char f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static char F30(char x, char y) - { - return (char)(y * y); - } - - static bool Bench30p() - { - char t = (char) 10; - char f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - char t = Ten; - char f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - char s = Ten; - char t = (char) 10; - char f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - char s = (char) 10; - char t = Ten; - char f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - char s = (char) 10; - char t = (char) 10; - char f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - char s = Ten; - char t = Ten; - char f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - char s = (char) 10; - char t = s; - char f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - char s = Ten; - char t = s; - char f = F30(s, t); - return (f == 100); - } - - static char F31(char x, char y, char z) - { - return (char)(z * z); - } - - static bool Bench31p() - { - char t = (char) 10; - char f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - char t = Ten; - char f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - char r = Ten; - char s = Ten; - char t = (char) 10; - char f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - char r = (char) 10; - char s = (char) 10; - char t = Ten; - char f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - char r = (char) 10; - char s = (char) 10; - char t = (char) 10; - char f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - char r = Ten; - char s = Ten; - char t = Ten; - char f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - char r = (char) 10; - char s = r; - char t = s; - char f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - char r = Ten; - char s = r; - char t = s; - char f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static char F40(char x, char y) - { - return (char)(x * x + y * y - 100); - } - - static bool Bench40p() - { - char t = (char) 10; - char f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - char t = Ten; - char f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - char s = Ten; - char t = (char) 10; - char f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - char s = (char) 10; - char t = Ten; - char f = F40(s, t); - return (f == 100); - } - - static char F41(char x, char y) - { - return (char)(x * y); - } - - static bool Bench41p() - { - char t = (char) 10; - char f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - char t = Ten; - char f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - char s = (char) 10; - char t = Ten; - char f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - char s = Ten; - char t = (char) 10; - char f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsChar).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj deleted file mode 100644 index a3e1203570..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsChar.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs deleted file mode 100644 index 4bd5683f0c..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs +++ /dev/null @@ -1,813 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsDouble -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Doubles feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static double Five = 5; - static double Ten = 10; - - static double Id(double x) - { - return x; - } - - static double F00(double x) - { - return x * x; - } - - static bool Bench00p() - { - double t = 10; - double f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - double t = Ten; - double f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - double t = Id(10); - double f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - double t = Id(Ten); - double f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - double t = Id(10); - double f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - double t = Id(Ten); - double f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - double t = 10; - double f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - double t = Ten; - double f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - double t = 5; - double f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - double t = Five; - double f = F00(2 * t); - return (f == 100); - } - - static double F01(double x) - { - return 1000 / x; - } - - static bool Bench01p() - { - double t = 10; - double f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - double t = Ten; - double f = F01(t); - return (f == 100); - } - - static double F02(double x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - double t = 10; - double f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - double t = Ten; - double f = F02(t); - return (f == 100); - } - - static double F03(double x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - double t = 10; - double f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - double t = Ten; - double f = F03(t); - return (f == 100); - } - - static double F04(double x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - double t = 10; - double f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - double t = Ten; - double f = F04(t); - return (f == 100); - } - - static double F06(double x) - { - return -x + 110; - } - - static bool Bench06p() - { - double t = 10; - double f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - double t = Ten; - double f = F06(t); - return (f == 100); - } - - // Doubles feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static double F10(double x) - { - return x == 10 ? 100 : 0; - } - - static bool Bench10p() - { - double t = 10; - double f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - double t = Ten; - double f = F10(t); - return (f == 100); - } - - static double F101(double x) - { - return x != 10 ? 0 : 100; - } - - static bool Bench10p1() - { - double t = 10; - double f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - double t = Ten; - double f = F101(t); - return (f == 100); - } - - static double F102(double x) - { - return x >= 10 ? 100 : 0; - } - - static bool Bench10p2() - { - double t = 10; - double f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - double t = Ten; - double f = F102(t); - return (f == 100); - } - - static double F103(double x) - { - return x <= 10 ? 100 : 0; - } - - static bool Bench10p3() - { - double t = 10; - double f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - double t = Ten; - double f = F102(t); - return (f == 100); - } - - static double F11(double x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - double t = 10; - double f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - double t = Ten; - double f = F11(t); - return (f == 100); - } - - static double F111(double x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - double t = 10; - double f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - double t = Ten; - double f = F111(t); - return (f == 100); - } - - static double F112(double x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - double t = 10; - double f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - double t = Ten; - double f = F112(t); - return (f == 100); - } - static double F113(double x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - double t = 10; - double f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - double t = Ten; - double f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static double F20(double x) - { - return 100; - } - - static bool Bench20p() - { - double t = 10; - double f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - double t = Ten; - double f = F20(t); - return (f == 100); - } - - static double F21(double x) - { - return -x + 100 + x; - } - - static bool Bench21p() - { - double t = 10; - double f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - double t = Ten; - double f = F21(t); - return (f == 100); - } - - static double F211(double x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - double t = 10; - double f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - double t = Ten; - double f = F211(t); - return (f == 100); - } - - static double F22(double x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - double t = 10; - double f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - double t = Ten; - double f = F22(t); - return (f == 100); - } - - static double F23(double x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - double t = 10; - double f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - double t = Ten; - double f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static double F30(double x, double y) - { - return y * y; - } - - static bool Bench30p() - { - double t = 10; - double f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - double t = Ten; - double f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - double s = Ten; - double t = 10; - double f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - double s = 10; - double t = Ten; - double f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - double s = 10; - double t = 10; - double f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - double s = Ten; - double t = Ten; - double f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - double s = 10; - double t = s; - double f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - double s = Ten; - double t = s; - double f = F30(s, t); - return (f == 100); - } - - static double F31(double x, double y, double z) - { - return z * z; - } - - static bool Bench31p() - { - double t = 10; - double f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - double t = Ten; - double f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - double r = Ten; - double s = Ten; - double t = 10; - double f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - double r = 10; - double s = 10; - double t = Ten; - double f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - double r = 10; - double s = 10; - double t = 10; - double f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - double r = Ten; - double s = Ten; - double t = Ten; - double f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - double r = 10; - double s = r; - double t = s; - double f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - double r = Ten; - double s = r; - double t = s; - double f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static double F40(double x, double y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - double t = 10; - double f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - double t = Ten; - double f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - double s = Ten; - double t = 10; - double f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - double s = 10; - double t = Ten; - double f = F40(s, t); - return (f == 100); - } - - static double F41(double x, double y) - { - return x * y; - } - - static bool Bench41p() - { - double t = 10; - double f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - double t = Ten; - double f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - double s = 10; - double t = Ten; - double f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - double s = Ten; - double t = 10; - double f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench06p", "Bench06n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsDouble).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj deleted file mode 100644 index beb3776b17..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsDouble.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs deleted file mode 100644 index f609a4bb44..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs +++ /dev/null @@ -1,813 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsFloat -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Floats feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static float Five = 5; - static float Ten = 10; - - static float Id(float x) - { - return x; - } - - static float F00(float x) - { - return x * x; - } - - static bool Bench00p() - { - float t = 10; - float f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - float t = Ten; - float f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - float t = Id(10); - float f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - float t = Id(Ten); - float f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - float t = Id(10); - float f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - float t = Id(Ten); - float f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - float t = 10; - float f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - float t = Ten; - float f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - float t = 5; - float f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - float t = Five; - float f = F00(2 * t); - return (f == 100); - } - - static float F01(float x) - { - return 1000 / x; - } - - static bool Bench01p() - { - float t = 10; - float f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - float t = Ten; - float f = F01(t); - return (f == 100); - } - - static float F02(float x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - float t = 10; - float f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - float t = Ten; - float f = F02(t); - return (f == 100); - } - - static float F03(float x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - float t = 10; - float f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - float t = Ten; - float f = F03(t); - return (f == 100); - } - - static float F04(float x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - float t = 10; - float f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - float t = Ten; - float f = F04(t); - return (f == 100); - } - - static float F06(float x) - { - return -x + 110; - } - - static bool Bench06p() - { - float t = 10; - float f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - float t = Ten; - float f = F06(t); - return (f == 100); - } - - // Floats feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static float F10(float x) - { - return x == 10 ? 100 : 0; - } - - static bool Bench10p() - { - float t = 10; - float f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - float t = Ten; - float f = F10(t); - return (f == 100); - } - - static float F101(float x) - { - return x != 10 ? 0 : 100; - } - - static bool Bench10p1() - { - float t = 10; - float f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - float t = Ten; - float f = F101(t); - return (f == 100); - } - - static float F102(float x) - { - return x >= 10 ? 100 : 0; - } - - static bool Bench10p2() - { - float t = 10; - float f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - float t = Ten; - float f = F102(t); - return (f == 100); - } - - static float F103(float x) - { - return x <= 10 ? 100 : 0; - } - - static bool Bench10p3() - { - float t = 10; - float f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - float t = Ten; - float f = F102(t); - return (f == 100); - } - - static float F11(float x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - float t = 10; - float f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - float t = Ten; - float f = F11(t); - return (f == 100); - } - - static float F111(float x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - float t = 10; - float f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - float t = Ten; - float f = F111(t); - return (f == 100); - } - - static float F112(float x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - float t = 10; - float f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - float t = Ten; - float f = F112(t); - return (f == 100); - } - static float F113(float x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - float t = 10; - float f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - float t = Ten; - float f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static float F20(float x) - { - return 100; - } - - static bool Bench20p() - { - float t = 10; - float f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - float t = Ten; - float f = F20(t); - return (f == 100); - } - - static float F21(float x) - { - return -x + 100 + x; - } - - static bool Bench21p() - { - float t = 10; - float f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - float t = Ten; - float f = F21(t); - return (f == 100); - } - - static float F211(float x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - float t = 10; - float f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - float t = Ten; - float f = F211(t); - return (f == 100); - } - - static float F22(float x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - float t = 10; - float f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - float t = Ten; - float f = F22(t); - return (f == 100); - } - - static float F23(float x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - float t = 10; - float f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - float t = Ten; - float f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static float F30(float x, float y) - { - return y * y; - } - - static bool Bench30p() - { - float t = 10; - float f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - float t = Ten; - float f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - float s = Ten; - float t = 10; - float f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - float s = 10; - float t = Ten; - float f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - float s = 10; - float t = 10; - float f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - float s = Ten; - float t = Ten; - float f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - float s = 10; - float t = s; - float f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - float s = Ten; - float t = s; - float f = F30(s, t); - return (f == 100); - } - - static float F31(float x, float y, float z) - { - return z * z; - } - - static bool Bench31p() - { - float t = 10; - float f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - float t = Ten; - float f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - float r = Ten; - float s = Ten; - float t = 10; - float f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - float r = 10; - float s = 10; - float t = Ten; - float f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - float r = 10; - float s = 10; - float t = 10; - float f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - float r = Ten; - float s = Ten; - float t = Ten; - float f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - float r = 10; - float s = r; - float t = s; - float f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - float r = Ten; - float s = r; - float t = s; - float f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static float F40(float x, float y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - float t = 10; - float f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - float t = Ten; - float f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - float s = Ten; - float t = 10; - float f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - float s = 10; - float t = Ten; - float f = F40(s, t); - return (f == 100); - } - - static float F41(float x, float y) - { - return x * y; - } - - static bool Bench41p() - { - float t = 10; - float f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - float t = Ten; - float f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - float s = 10; - float t = Ten; - float f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - float s = Ten; - float t = 10; - float f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench06p", "Bench06n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsFloat).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj deleted file mode 100644 index bb859c09c5..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsFloat.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs deleted file mode 100644 index f54e800d17..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsInt -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Ints feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static int Five = 5; - static int Ten = 10; - - static int Id(int x) - { - return x; - } - - static int F00(int x) - { - return x * x; - } - - static bool Bench00p() - { - int t = 10; - int f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - int t = Ten; - int f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - int t = Id(10); - int f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - int t = Id(Ten); - int f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - int t = Id(10); - int f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - int t = Id(Ten); - int f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - int t = 10; - int f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - int t = Ten; - int f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - int t = 5; - int f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - int t = Five; - int f = F00(2 * t); - return (f == 100); - } - - static int F01(int x) - { - return 1000 / x; - } - - static bool Bench01p() - { - int t = 10; - int f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - int t = Ten; - int f = F01(t); - return (f == 100); - } - - static int F02(int x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - int t = 10; - int f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - int t = Ten; - int f = F02(t); - return (f == 100); - } - - static int F03(int x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - int t = 10; - int f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - int t = Ten; - int f = F03(t); - return (f == 100); - } - - static int F04(int x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - int t = 10; - int f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - int t = Ten; - int f = F04(t); - return (f == 100); - } - - static int F05(int x) - { - return (1 << x) - 924; - } - - static bool Bench05p() - { - int t = 10; - int f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - int t = Ten; - int f = F05(t); - return (f == 100); - } - - static int F051(int x) - { - return (102400 >> x); - } - - static bool Bench05p1() - { - int t = 10; - int f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - int t = Ten; - int f = F051(t); - return (f == 100); - } - - static int F06(int x) - { - return -x + 110; - } - - static bool Bench06p() - { - int t = 10; - int f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - int t = Ten; - int f = F06(t); - return (f == 100); - } - - static int F07(int x) - { - return ~x + 111; - } - - static bool Bench07p() - { - int t = 10; - int f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - int t = Ten; - int f = F07(t); - return (f == 100); - } - - static int F071(int x) - { - return (x ^ -1) + 111; - } - - static bool Bench07p1() - { - int t = 10; - int f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - int t = Ten; - int f = F071(t); - return (f == 100); - } - - static int F08(int x) - { - return (x & 0x7) + 98; - } - - static bool Bench08p() - { - int t = 10; - int f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - int t = Ten; - int f = F08(t); - return (f == 100); - } - - static int F09(int x) - { - return (x | 0x7) + 85; - } - - static bool Bench09p() - { - int t = 10; - int f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - int t = Ten; - int f = F09(t); - return (f == 100); - } - - // Ints feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static int F10(int x) - { - return x == 10 ? 100 : 0; - } - - static bool Bench10p() - { - int t = 10; - int f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - int t = Ten; - int f = F10(t); - return (f == 100); - } - - static int F101(int x) - { - return x != 10 ? 0 : 100; - } - - static bool Bench10p1() - { - int t = 10; - int f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - int t = Ten; - int f = F101(t); - return (f == 100); - } - - static int F102(int x) - { - return x >= 10 ? 100 : 0; - } - - static bool Bench10p2() - { - int t = 10; - int f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - int t = Ten; - int f = F102(t); - return (f == 100); - } - - static int F103(int x) - { - return x <= 10 ? 100 : 0; - } - - static bool Bench10p3() - { - int t = 10; - int f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - int t = Ten; - int f = F102(t); - return (f == 100); - } - - static int F11(int x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - int t = 10; - int f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - int t = Ten; - int f = F11(t); - return (f == 100); - } - - static int F111(int x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - int t = 10; - int f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - int t = Ten; - int f = F111(t); - return (f == 100); - } - - static int F112(int x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - int t = 10; - int f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - int t = Ten; - int f = F112(t); - return (f == 100); - } - static int F113(int x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - int t = 10; - int f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - int t = Ten; - int f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static int F20(int x) - { - return 100; - } - - static bool Bench20p() - { - int t = 10; - int f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - int t = Ten; - int f = F20(t); - return (f == 100); - } - - static int F21(int x) - { - return -x + 100 + x; - } - - static bool Bench21p() - { - int t = 10; - int f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - int t = Ten; - int f = F21(t); - return (f == 100); - } - - static int F211(int x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - int t = 10; - int f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - int t = Ten; - int f = F211(t); - return (f == 100); - } - - static int F22(int x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - int t = 10; - int f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - int t = Ten; - int f = F22(t); - return (f == 100); - } - - static int F23(int x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - int t = 10; - int f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - int t = Ten; - int f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static int F30(int x, int y) - { - return y * y; - } - - static bool Bench30p() - { - int t = 10; - int f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - int t = Ten; - int f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - int s = Ten; - int t = 10; - int f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - int s = 10; - int t = Ten; - int f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - int s = 10; - int t = 10; - int f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - int s = Ten; - int t = Ten; - int f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - int s = 10; - int t = s; - int f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - int s = Ten; - int t = s; - int f = F30(s, t); - return (f == 100); - } - - static int F31(int x, int y, int z) - { - return z * z; - } - - static bool Bench31p() - { - int t = 10; - int f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - int t = Ten; - int f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - int r = Ten; - int s = Ten; - int t = 10; - int f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - int r = 10; - int s = 10; - int t = Ten; - int f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - int r = 10; - int s = 10; - int t = 10; - int f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - int r = Ten; - int s = Ten; - int t = Ten; - int f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - int r = 10; - int s = r; - int t = s; - int f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - int r = Ten; - int s = r; - int t = s; - int f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static int F40(int x, int y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - int t = 10; - int f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - int t = Ten; - int f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - int s = Ten; - int t = 10; - int f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - int s = 10; - int t = Ten; - int f = F40(s, t); - return (f == 100); - } - - static int F41(int x, int y) - { - return x * y; - } - - static bool Bench41p() - { - int t = 10; - int f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - int t = Ten; - int f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - int s = 10; - int t = Ten; - int f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - int s = Ten; - int t = 10; - int f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsInt).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj deleted file mode 100644 index 112d35c9c5..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsInt.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs deleted file mode 100644 index e5679f1638..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsLong -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Longs feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static long Five = 5; - static long Ten = 10; - - static long Id(long x) - { - return x; - } - - static long F00(long x) - { - return x * x; - } - - static bool Bench00p() - { - long t = 10; - long f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - long t = Ten; - long f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - long t = Id(10); - long f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - long t = Id(Ten); - long f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - long t = Id(10); - long f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - long t = Id(Ten); - long f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - long t = 10; - long f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - long t = Ten; - long f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - long t = 5; - long f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - long t = Five; - long f = F00(2 * t); - return (f == 100); - } - - static long F01(long x) - { - return 1000 / x; - } - - static bool Bench01p() - { - long t = 10; - long f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - long t = Ten; - long f = F01(t); - return (f == 100); - } - - static long F02(long x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - long t = 10; - long f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - long t = Ten; - long f = F02(t); - return (f == 100); - } - - static long F03(long x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - long t = 10; - long f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - long t = Ten; - long f = F03(t); - return (f == 100); - } - - static long F04(long x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - long t = 10; - long f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - long t = Ten; - long f = F04(t); - return (f == 100); - } - - static long F05(long x) - { - return (1 << (int) x) - 924; - } - - static bool Bench05p() - { - long t = 10; - long f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - long t = Ten; - long f = F05(t); - return (f == 100); - } - - static long F051(long x) - { - return (102400 >> (int) x); - } - - static bool Bench05p1() - { - long t = 10; - long f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - long t = Ten; - long f = F051(t); - return (f == 100); - } - - static long F06(long x) - { - return -x + 110; - } - - static bool Bench06p() - { - long t = 10; - long f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - long t = Ten; - long f = F06(t); - return (f == 100); - } - - static long F07(long x) - { - return ~x + 111; - } - - static bool Bench07p() - { - long t = 10; - long f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - long t = Ten; - long f = F07(t); - return (f == 100); - } - - static long F071(long x) - { - return (x ^ -1) + 111; - } - - static bool Bench07p1() - { - long t = 10; - long f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - long t = Ten; - long f = F071(t); - return (f == 100); - } - - static long F08(long x) - { - return (x & 0x7) + 98; - } - - static bool Bench08p() - { - long t = 10; - long f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - long t = Ten; - long f = F08(t); - return (f == 100); - } - - static long F09(long x) - { - return (x | 0x7) + 85; - } - - static bool Bench09p() - { - long t = 10; - long f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - long t = Ten; - long f = F09(t); - return (f == 100); - } - - // Longs feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static long F10(long x) - { - return x == 10 ? 100 : 0; - } - - static bool Bench10p() - { - long t = 10; - long f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - long t = Ten; - long f = F10(t); - return (f == 100); - } - - static long F101(long x) - { - return x != 10 ? 0 : 100; - } - - static bool Bench10p1() - { - long t = 10; - long f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - long t = Ten; - long f = F101(t); - return (f == 100); - } - - static long F102(long x) - { - return x >= 10 ? 100 : 0; - } - - static bool Bench10p2() - { - long t = 10; - long f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - long t = Ten; - long f = F102(t); - return (f == 100); - } - - static long F103(long x) - { - return x <= 10 ? 100 : 0; - } - - static bool Bench10p3() - { - long t = 10; - long f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - long t = Ten; - long f = F102(t); - return (f == 100); - } - - static long F11(long x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - long t = 10; - long f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - long t = Ten; - long f = F11(t); - return (f == 100); - } - - static long F111(long x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - long t = 10; - long f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - long t = Ten; - long f = F111(t); - return (f == 100); - } - - static long F112(long x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - long t = 10; - long f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - long t = Ten; - long f = F112(t); - return (f == 100); - } - static long F113(long x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - long t = 10; - long f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - long t = Ten; - long f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static long F20(long x) - { - return 100; - } - - static bool Bench20p() - { - long t = 10; - long f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - long t = Ten; - long f = F20(t); - return (f == 100); - } - - static long F21(long x) - { - return -x + 100 + x; - } - - static bool Bench21p() - { - long t = 10; - long f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - long t = Ten; - long f = F21(t); - return (f == 100); - } - - static long F211(long x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - long t = 10; - long f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - long t = Ten; - long f = F211(t); - return (f == 100); - } - - static long F22(long x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - long t = 10; - long f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - long t = Ten; - long f = F22(t); - return (f == 100); - } - - static long F23(long x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - long t = 10; - long f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - long t = Ten; - long f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static long F30(long x, long y) - { - return y * y; - } - - static bool Bench30p() - { - long t = 10; - long f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - long t = Ten; - long f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - long s = Ten; - long t = 10; - long f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - long s = 10; - long t = Ten; - long f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - long s = 10; - long t = 10; - long f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - long s = Ten; - long t = Ten; - long f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - long s = 10; - long t = s; - long f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - long s = Ten; - long t = s; - long f = F30(s, t); - return (f == 100); - } - - static long F31(long x, long y, long z) - { - return z * z; - } - - static bool Bench31p() - { - long t = 10; - long f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - long t = Ten; - long f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - long r = Ten; - long s = Ten; - long t = 10; - long f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - long r = 10; - long s = 10; - long t = Ten; - long f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - long r = 10; - long s = 10; - long t = 10; - long f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - long r = Ten; - long s = Ten; - long t = Ten; - long f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - long r = 10; - long s = r; - long t = s; - long f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - long r = Ten; - long s = r; - long t = s; - long f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static long F40(long x, long y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - long t = 10; - long f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - long t = Ten; - long f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - long s = Ten; - long t = 10; - long f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - long s = 10; - long t = Ten; - long f = F40(s, t); - return (f == 100); - } - - static long F41(long x, long y) - { - return x * y; - } - - static bool Bench41p() - { - long t = 10; - long f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - long t = Ten; - long f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - long s = 10; - long t = Ten; - long f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - long s = Ten; - long t = 10; - long f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsLong).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj deleted file mode 100644 index 62499dc019..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsLong.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs deleted file mode 100644 index 0ec29b8341..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsSByte -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Sbytes feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static sbyte Five = 5; - static sbyte Ten = 10; - - static sbyte Id(sbyte x) - { - return x; - } - - static sbyte F00(sbyte x) - { - return (sbyte) (x * x); - } - - static bool Bench00p() - { - sbyte t = 10; - sbyte f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - sbyte t = Ten; - sbyte f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - sbyte t = Id(10); - sbyte f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - sbyte t = Id(Ten); - sbyte f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - sbyte t = Id(10); - sbyte f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - sbyte t = Id(Ten); - sbyte f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - sbyte t = 10; - sbyte f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - sbyte t = Ten; - sbyte f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - sbyte t = 5; - sbyte f = F00((sbyte)(2 * t)); - return (f == 100); - } - - static bool Bench00n4() - { - sbyte t = Five; - sbyte f = F00((sbyte)(2 * t)); - return (f == 100); - } - - static sbyte F01(sbyte x) - { - return (sbyte)(1000 / x); - } - - static bool Bench01p() - { - sbyte t = 10; - sbyte f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - sbyte t = Ten; - sbyte f = F01(t); - return (f == 100); - } - - static sbyte F02(sbyte x) - { - return (sbyte) (20 * (x / 2)); - } - - static bool Bench02p() - { - sbyte t = 10; - sbyte f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - sbyte t = Ten; - sbyte f = F02(t); - return (f == 100); - } - - static sbyte F03(sbyte x) - { - return (sbyte)(91 + 1009 % x); - } - - static bool Bench03p() - { - sbyte t = 10; - sbyte f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - sbyte t = Ten; - sbyte f = F03(t); - return (f == 100); - } - - static sbyte F04(sbyte x) - { - return (sbyte)(50 * (x % 4)); - } - - static bool Bench04p() - { - sbyte t = 10; - sbyte f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - sbyte t = Ten; - sbyte f = F04(t); - return (f == 100); - } - - static sbyte F05(sbyte x) - { - return (sbyte)((1 << x) - 924); - } - - static bool Bench05p() - { - sbyte t = 10; - sbyte f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - sbyte t = Ten; - sbyte f = F05(t); - return (f == 100); - } - - static sbyte F051(sbyte x) - { - return (sbyte)(102400 >> x); - } - - static bool Bench05p1() - { - sbyte t = 10; - sbyte f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - sbyte t = Ten; - sbyte f = F051(t); - return (f == 100); - } - - static sbyte F06(sbyte x) - { - return (sbyte)(-x + 110); - } - - static bool Bench06p() - { - sbyte t = 10; - sbyte f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - sbyte t = Ten; - sbyte f = F06(t); - return (f == 100); - } - - static sbyte F07(sbyte x) - { - return (sbyte)(~x + 111); - } - - static bool Bench07p() - { - sbyte t = 10; - sbyte f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - sbyte t = Ten; - sbyte f = F07(t); - return (f == 100); - } - - static sbyte F071(sbyte x) - { - return (sbyte)((x ^ -1) + 111); - } - - static bool Bench07p1() - { - sbyte t = 10; - sbyte f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - sbyte t = Ten; - sbyte f = F071(t); - return (f == 100); - } - - static sbyte F08(sbyte x) - { - return (sbyte)((x & 0x7) + 98); - } - - static bool Bench08p() - { - sbyte t = 10; - sbyte f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - sbyte t = Ten; - sbyte f = F08(t); - return (f == 100); - } - - static sbyte F09(sbyte x) - { - return (sbyte)((x | 0x7) + 85); - } - - static bool Bench09p() - { - sbyte t = 10; - sbyte f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - sbyte t = Ten; - sbyte f = F09(t); - return (f == 100); - } - - // Sbytes feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static sbyte F10(sbyte x) - { - return x == 10 ? (sbyte) 100 : (sbyte) 0; - } - - static bool Bench10p() - { - sbyte t = 10; - sbyte f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - sbyte t = Ten; - sbyte f = F10(t); - return (f == 100); - } - - static sbyte F101(sbyte x) - { - return x != 10 ? (sbyte) 0 : (sbyte) 100; - } - - static bool Bench10p1() - { - sbyte t = 10; - sbyte f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - sbyte t = Ten; - sbyte f = F101(t); - return (f == 100); - } - - static sbyte F102(sbyte x) - { - return x >= 10 ? (sbyte) 100 : (sbyte) 0; - } - - static bool Bench10p2() - { - sbyte t = 10; - sbyte f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - sbyte t = Ten; - sbyte f = F102(t); - return (f == 100); - } - - static sbyte F103(sbyte x) - { - return x <= 10 ? (sbyte) 100 : (sbyte) 0; - } - - static bool Bench10p3() - { - sbyte t = 10; - sbyte f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - sbyte t = Ten; - sbyte f = F102(t); - return (f == 100); - } - - static sbyte F11(sbyte x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - sbyte t = 10; - sbyte f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - sbyte t = Ten; - sbyte f = F11(t); - return (f == 100); - } - - static sbyte F111(sbyte x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - sbyte t = 10; - sbyte f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - sbyte t = Ten; - sbyte f = F111(t); - return (f == 100); - } - - static sbyte F112(sbyte x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - sbyte t = 10; - sbyte f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - sbyte t = Ten; - sbyte f = F112(t); - return (f == 100); - } - static sbyte F113(sbyte x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - sbyte t = 10; - sbyte f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - sbyte t = Ten; - sbyte f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static sbyte F20(sbyte x) - { - return 100; - } - - static bool Bench20p() - { - sbyte t = 10; - sbyte f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - sbyte t = Ten; - sbyte f = F20(t); - return (f == 100); - } - - static sbyte F21(sbyte x) - { - return (sbyte)(-x + 100 + x); - } - - static bool Bench21p() - { - sbyte t = 10; - sbyte f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - sbyte t = Ten; - sbyte f = F21(t); - return (f == 100); - } - - static sbyte F211(sbyte x) - { - return (sbyte)(x - x + 100); - } - - static bool Bench21p1() - { - sbyte t = 10; - sbyte f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - sbyte t = Ten; - sbyte f = F211(t); - return (f == 100); - } - - static sbyte F22(sbyte x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - sbyte t = 10; - sbyte f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - sbyte t = Ten; - sbyte f = F22(t); - return (f == 100); - } - - static sbyte F23(sbyte x) - { - if (x > 0) - { - return (sbyte)(90 + x); - } - - return 100; - } - - static bool Bench23p() - { - sbyte t = 10; - sbyte f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - sbyte t = Ten; - sbyte f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static sbyte F30(sbyte x, sbyte y) - { - return (sbyte)(y * y); - } - - static bool Bench30p() - { - sbyte t = 10; - sbyte f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - sbyte t = Ten; - sbyte f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - sbyte s = Ten; - sbyte t = 10; - sbyte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - sbyte s = 10; - sbyte t = Ten; - sbyte f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - sbyte s = 10; - sbyte t = 10; - sbyte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - sbyte s = Ten; - sbyte t = Ten; - sbyte f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - sbyte s = 10; - sbyte t = s; - sbyte f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - sbyte s = Ten; - sbyte t = s; - sbyte f = F30(s, t); - return (f == 100); - } - - static sbyte F31(sbyte x, sbyte y, sbyte z) - { - return (sbyte)(z * z); - } - - static bool Bench31p() - { - sbyte t = 10; - sbyte f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - sbyte t = Ten; - sbyte f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - sbyte r = Ten; - sbyte s = Ten; - sbyte t = 10; - sbyte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - sbyte r = 10; - sbyte s = 10; - sbyte t = Ten; - sbyte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - sbyte r = 10; - sbyte s = 10; - sbyte t = 10; - sbyte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - sbyte r = Ten; - sbyte s = Ten; - sbyte t = Ten; - sbyte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - sbyte r = 10; - sbyte s = r; - sbyte t = s; - sbyte f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - sbyte r = Ten; - sbyte s = r; - sbyte t = s; - sbyte f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static sbyte F40(sbyte x, sbyte y) - { - return (sbyte)(x * x + y * y - 100); - } - - static bool Bench40p() - { - sbyte t = 10; - sbyte f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - sbyte t = Ten; - sbyte f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - sbyte s = Ten; - sbyte t = 10; - sbyte f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - sbyte s = 10; - sbyte t = Ten; - sbyte f = F40(s, t); - return (f == 100); - } - - static sbyte F41(sbyte x, sbyte y) - { - return (sbyte)(x * y); - } - - static bool Bench41p() - { - sbyte t = 10; - sbyte f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - sbyte t = Ten; - sbyte f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - sbyte s = 10; - sbyte t = Ten; - sbyte f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - sbyte s = Ten; - sbyte t = 10; - sbyte f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsSByte).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj deleted file mode 100644 index 52538e0fed..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsSByte.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs deleted file mode 100644 index f8cf23e8da..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsShort -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Shorts feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static short Five = 5; - static short Ten = 10; - - static short Id(short x) - { - return x; - } - - static short F00(short x) - { - return (short) (x * x); - } - - static bool Bench00p() - { - short t = 10; - short f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - short t = Ten; - short f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - short t = Id(10); - short f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - short t = Id(Ten); - short f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - short t = Id(10); - short f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - short t = Id(Ten); - short f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - short t = 10; - short f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - short t = Ten; - short f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - short t = 5; - short f = F00((short)(2 * t)); - return (f == 100); - } - - static bool Bench00n4() - { - short t = Five; - short f = F00((short)(2 * t)); - return (f == 100); - } - - static short F01(short x) - { - return (short)(1000 / x); - } - - static bool Bench01p() - { - short t = 10; - short f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - short t = Ten; - short f = F01(t); - return (f == 100); - } - - static short F02(short x) - { - return (short) (20 * (x / 2)); - } - - static bool Bench02p() - { - short t = 10; - short f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - short t = Ten; - short f = F02(t); - return (f == 100); - } - - static short F03(short x) - { - return (short)(91 + 1009 % x); - } - - static bool Bench03p() - { - short t = 10; - short f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - short t = Ten; - short f = F03(t); - return (f == 100); - } - - static short F04(short x) - { - return (short)(50 * (x % 4)); - } - - static bool Bench04p() - { - short t = 10; - short f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - short t = Ten; - short f = F04(t); - return (f == 100); - } - - static short F05(short x) - { - return (short)((1 << x) - 924); - } - - static bool Bench05p() - { - short t = 10; - short f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - short t = Ten; - short f = F05(t); - return (f == 100); - } - - static short F051(short x) - { - return (short)(102400 >> x); - } - - static bool Bench05p1() - { - short t = 10; - short f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - short t = Ten; - short f = F051(t); - return (f == 100); - } - - static short F06(short x) - { - return (short)(-x + 110); - } - - static bool Bench06p() - { - short t = 10; - short f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - short t = Ten; - short f = F06(t); - return (f == 100); - } - - static short F07(short x) - { - return (short)(~x + 111); - } - - static bool Bench07p() - { - short t = 10; - short f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - short t = Ten; - short f = F07(t); - return (f == 100); - } - - static short F071(short x) - { - return (short)((x ^ -1) + 111); - } - - static bool Bench07p1() - { - short t = 10; - short f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - short t = Ten; - short f = F071(t); - return (f == 100); - } - - static short F08(short x) - { - return (short)((x & 0x7) + 98); - } - - static bool Bench08p() - { - short t = 10; - short f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - short t = Ten; - short f = F08(t); - return (f == 100); - } - - static short F09(short x) - { - return (short)((x | 0x7) + 85); - } - - static bool Bench09p() - { - short t = 10; - short f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - short t = Ten; - short f = F09(t); - return (f == 100); - } - - // Shorts feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static short F10(short x) - { - return x == 10 ? (short) 100 : (short) 0; - } - - static bool Bench10p() - { - short t = 10; - short f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - short t = Ten; - short f = F10(t); - return (f == 100); - } - - static short F101(short x) - { - return x != 10 ? (short) 0 : (short) 100; - } - - static bool Bench10p1() - { - short t = 10; - short f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - short t = Ten; - short f = F101(t); - return (f == 100); - } - - static short F102(short x) - { - return x >= 10 ? (short) 100 : (short) 0; - } - - static bool Bench10p2() - { - short t = 10; - short f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - short t = Ten; - short f = F102(t); - return (f == 100); - } - - static short F103(short x) - { - return x <= 10 ? (short) 100 : (short) 0; - } - - static bool Bench10p3() - { - short t = 10; - short f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - short t = Ten; - short f = F102(t); - return (f == 100); - } - - static short F11(short x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - short t = 10; - short f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - short t = Ten; - short f = F11(t); - return (f == 100); - } - - static short F111(short x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - short t = 10; - short f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - short t = Ten; - short f = F111(t); - return (f == 100); - } - - static short F112(short x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - short t = 10; - short f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - short t = Ten; - short f = F112(t); - return (f == 100); - } - static short F113(short x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - short t = 10; - short f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - short t = Ten; - short f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static short F20(short x) - { - return 100; - } - - static bool Bench20p() - { - short t = 10; - short f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - short t = Ten; - short f = F20(t); - return (f == 100); - } - - static short F21(short x) - { - return (short)(-x + 100 + x); - } - - static bool Bench21p() - { - short t = 10; - short f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - short t = Ten; - short f = F21(t); - return (f == 100); - } - - static short F211(short x) - { - return (short)(x - x + 100); - } - - static bool Bench21p1() - { - short t = 10; - short f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - short t = Ten; - short f = F211(t); - return (f == 100); - } - - static short F22(short x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - short t = 10; - short f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - short t = Ten; - short f = F22(t); - return (f == 100); - } - - static short F23(short x) - { - if (x > 0) - { - return (short)(90 + x); - } - - return 100; - } - - static bool Bench23p() - { - short t = 10; - short f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - short t = Ten; - short f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static short F30(short x, short y) - { - return (short)(y * y); - } - - static bool Bench30p() - { - short t = 10; - short f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - short t = Ten; - short f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - short s = Ten; - short t = 10; - short f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - short s = 10; - short t = Ten; - short f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - short s = 10; - short t = 10; - short f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - short s = Ten; - short t = Ten; - short f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - short s = 10; - short t = s; - short f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - short s = Ten; - short t = s; - short f = F30(s, t); - return (f == 100); - } - - static short F31(short x, short y, short z) - { - return (short)(z * z); - } - - static bool Bench31p() - { - short t = 10; - short f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - short t = Ten; - short f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - short r = Ten; - short s = Ten; - short t = 10; - short f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - short r = 10; - short s = 10; - short t = Ten; - short f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - short r = 10; - short s = 10; - short t = 10; - short f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - short r = Ten; - short s = Ten; - short t = Ten; - short f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - short r = 10; - short s = r; - short t = s; - short f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - short r = Ten; - short s = r; - short t = s; - short f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static short F40(short x, short y) - { - return (short)(x * x + y * y - 100); - } - - static bool Bench40p() - { - short t = 10; - short f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - short t = Ten; - short f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - short s = Ten; - short t = 10; - short f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - short s = 10; - short t = Ten; - short f = F40(s, t); - return (f == 100); - } - - static short F41(short x, short y) - { - return (short)(x * y); - } - - static bool Bench41p() - { - short t = 10; - short f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - short t = Ten; - short f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - short s = 10; - short t = Ten; - short f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - short s = Ten; - short t = 10; - short f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsShort).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj deleted file mode 100644 index 0013834c8c..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsShort.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs deleted file mode 100644 index 38a3f7e6b9..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs +++ /dev/null @@ -1,333 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -// Strings are the only ref class where there is built-in support for -// constant objects. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsString -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Ints feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static string Ten = "Ten"; - static string Five = "Five"; - - static string Id(string x) - { - return x; - } - - static char F00(string x) - { - return x[0]; - } - - static bool Bench00p() - { - string t = "Ten"; - char f = F00(t); - return (f == 'T'); - } - - static bool Bench00n() - { - string t = Ten; - char f = F00(t); - return (f == 'T'); - } - - static int F01(string x) - { - return x.Length; - } - - static bool Bench01p() - { - string t = "Ten"; - int f = F01(t); - return (f == 3); - } - - static bool Bench01n() - { - string t = Ten; - int f = F01(t); - return (f == 3); - } - - static bool Bench01p1() - { - return "Ten".Length == 3; - } - - static bool Bench01n1() - { - return Ten.Length == 3; - } - - static bool Bench02p() - { - return "Ten".Equals("Ten", StringComparison.Ordinal); - } - - static bool Bench02n() - { - return "Ten".Equals(Ten, StringComparison.Ordinal); - } - - static bool Bench02n1() - { - return Ten.Equals("Ten", StringComparison.Ordinal); - } - - static bool Bench02n2() - { - return Ten.Equals(Ten, StringComparison.Ordinal); - } - - static bool Bench03p() - { - return "Ten" == "Ten"; - } - - static bool Bench03n() - { - return "Ten" == Ten; - } - - static bool Bench03n1() - { - return Ten == "Ten"; - } - - static bool Bench03n2() - { - return Ten == Ten; - } - - static bool Bench04p() - { - return "Ten" != "Five"; - } - - static bool Bench04n() - { - return "Ten" != Five; - } - - static bool Bench04n1() - { - return Ten != "Five"; - } - - static bool Bench04n2() - { - return Ten != Five; - } - - static bool Bench05p() - { - string t = "Ten"; - return (t == t); - } - - static bool Bench05n() - { - string t = Ten; - return (t == t); - } - - static bool Bench06p() - { - return "Ten" != null; - } - - static bool Bench06n() - { - return Ten != null; - } - - static bool Bench07p() - { - return !"Ten".Equals(null); - } - - static bool Bench07n() - { - return !Ten.Equals(null); - } - - static bool Bench08p() - { - return !"Ten".Equals("Five", StringComparison.Ordinal); - } - - static bool Bench08n() - { - return !"Ten".Equals(Five, StringComparison.Ordinal); - } - - static bool Bench08n1() - { - return !Ten.Equals("Five", StringComparison.Ordinal); - } - - static bool Bench08n2() - { - return !Ten.Equals(Five, StringComparison.Ordinal); - } - - static bool Bench09p() - { - return string.Equals("Ten", "Ten"); - } - - static bool Bench09n() - { - return string.Equals("Ten", Ten); - } - - static bool Bench09n1() - { - return string.Equals(Ten, "Ten"); - } - - static bool Bench09n2() - { - return string.Equals(Ten, Ten); - } - - static bool Bench10p() - { - return !string.Equals("Five", "Ten"); - } - - static bool Bench10n() - { - return !string.Equals(Five, "Ten"); - } - - static bool Bench10n1() - { - return !string.Equals("Five", Ten); - } - - static bool Bench10n2() - { - return !string.Equals(Five, Ten); - } - - static bool Bench11p() - { - return !string.Equals("Five", null); - } - - static bool Bench11n() - { - return !string.Equals(Five, null); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench01p", "Bench01n", - "Bench01p1", "Bench01n1", - "Bench02p", "Bench02n", - "Bench02n1", "Bench02n2", - "Bench03p", "Bench03n", - "Bench03n1", "Bench03n2", - "Bench04p", "Bench04n", - "Bench04n1", "Bench04n2", - "Bench05p", "Bench05n", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench08p", "Bench08n", - "Bench08n1", "Bench08n2", - "Bench09p", "Bench09n", - "Bench09n1", "Bench09n2", - "Bench10p", "Bench10n", - "Bench10n1", "Bench10n2", - "Bench11p", "Bench11n" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsString).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj deleted file mode 100644 index 5b5005edfb..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsString.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs deleted file mode 100644 index e3f6e2aae8..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs +++ /dev/null @@ -1,893 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsUInt -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Ints feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static uint Five = 5; - static uint Ten = 10; - - static uint Id(uint x) - { - return x; - } - - static uint F00(uint x) - { - return x * x; - } - - static bool Bench00p() - { - uint t = 10; - uint f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - uint t = Ten; - uint f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - uint t = Id(10); - uint f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - uint t = Id(Ten); - uint f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - uint t = Id(10); - uint f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - uint t = Id(Ten); - uint f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - uint t = 10; - uint f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - uint t = Ten; - uint f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - uint t = 5; - uint f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - uint t = Five; - uint f = F00(2 * t); - return (f == 100); - } - - static uint F01(uint x) - { - return 1000 / x; - } - - static bool Bench01p() - { - uint t = 10; - uint f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - uint t = Ten; - uint f = F01(t); - return (f == 100); - } - - static uint F02(uint x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - uint t = 10; - uint f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - uint t = Ten; - uint f = F02(t); - return (f == 100); - } - - static uint F03(uint x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - uint t = 10; - uint f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - uint t = Ten; - uint f = F03(t); - return (f == 100); - } - - static uint F04(uint x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - uint t = 10; - uint f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - uint t = Ten; - uint f = F04(t); - return (f == 100); - } - - static uint F06(uint x) - { - return 110 - x; - } - - static bool Bench06p() - { - uint t = 10; - uint f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - uint t = Ten; - uint f = F06(t); - return (f == 100); - } - - static uint F07(uint x) - { - return ~x + 111; - } - - static bool Bench07p() - { - uint t = 10; - uint f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - uint t = Ten; - uint f = F07(t); - return (f == 100); - } - - static uint F071(uint x) - { - return (x ^ 0xFFFFFFFF) + 111; - } - - static bool Bench07p1() - { - uint t = 10; - uint f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - uint t = Ten; - uint f = F071(t); - return (f == 100); - } - - static uint F08(uint x) - { - return (x & 0x7) + 98; - } - - static bool Bench08p() - { - uint t = 10; - uint f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - uint t = Ten; - uint f = F08(t); - return (f == 100); - } - - static uint F09(uint x) - { - return (x | 0x7) + 85; - } - - static bool Bench09p() - { - uint t = 10; - uint f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - uint t = Ten; - uint f = F09(t); - return (f == 100); - } - - // Uints feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static uint F10(uint x) - { - return x == 10 ? 100u : 0u; - } - - static bool Bench10p() - { - uint t = 10; - uint f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - uint t = Ten; - uint f = F10(t); - return (f == 100); - } - - static uint F101(uint x) - { - return x != 10 ? 0u : 100u; - } - - static bool Bench10p1() - { - uint t = 10; - uint f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - uint t = Ten; - uint f = F101(t); - return (f == 100); - } - - static uint F102(uint x) - { - return x >= 10 ? 100u : 0u; - } - - static bool Bench10p2() - { - uint t = 10; - uint f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - uint t = Ten; - uint f = F102(t); - return (f == 100); - } - - static uint F103(uint x) - { - return x <= 10 ? 100u : 0u; - } - - static bool Bench10p3() - { - uint t = 10; - uint f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - uint t = Ten; - uint f = F102(t); - return (f == 100); - } - - static uint F11(uint x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - uint t = 10; - uint f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - uint t = Ten; - uint f = F11(t); - return (f == 100); - } - - static uint F111(uint x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - uint t = 10; - uint f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - uint t = Ten; - uint f = F111(t); - return (f == 100); - } - - static uint F112(uint x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - uint t = 10; - uint f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - uint t = Ten; - uint f = F112(t); - return (f == 100); - } - static uint F113(uint x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - uint t = 10; - uint f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - uint t = Ten; - uint f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static uint F20(uint x) - { - return 100; - } - - static bool Bench20p() - { - uint t = 10; - uint f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - uint t = Ten; - uint f = F20(t); - return (f == 100); - } - - static uint F21(uint x) - { - return (uint) -x + 100 + x; - } - - static bool Bench21p() - { - uint t = 10; - uint f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - uint t = Ten; - uint f = F21(t); - return (f == 100); - } - - static uint F211(uint x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - uint t = 10; - uint f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - uint t = Ten; - uint f = F211(t); - return (f == 100); - } - - static uint F22(uint x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - uint t = 10; - uint f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - uint t = Ten; - uint f = F22(t); - return (f == 100); - } - - static uint F23(uint x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - uint t = 10; - uint f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - uint t = Ten; - uint f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static uint F30(uint x, uint y) - { - return y * y; - } - - static bool Bench30p() - { - uint t = 10; - uint f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - uint t = Ten; - uint f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - uint s = Ten; - uint t = 10; - uint f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - uint s = 10; - uint t = Ten; - uint f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - uint s = 10; - uint t = 10; - uint f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - uint s = Ten; - uint t = Ten; - uint f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - uint s = 10; - uint t = s; - uint f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - uint s = Ten; - uint t = s; - uint f = F30(s, t); - return (f == 100); - } - - static uint F31(uint x, uint y, uint z) - { - return z * z; - } - - static bool Bench31p() - { - uint t = 10; - uint f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - uint t = Ten; - uint f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - uint r = Ten; - uint s = Ten; - uint t = 10; - uint f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - uint r = 10; - uint s = 10; - uint t = Ten; - uint f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - uint r = 10; - uint s = 10; - uint t = 10; - uint f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - uint r = Ten; - uint s = Ten; - uint t = Ten; - uint f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - uint r = 10; - uint s = r; - uint t = s; - uint f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - uint r = Ten; - uint s = r; - uint t = s; - uint f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static uint F40(uint x, uint y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - uint t = 10; - uint f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - uint t = Ten; - uint f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - uint s = Ten; - uint t = 10; - uint f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - uint s = 10; - uint t = Ten; - uint f = F40(s, t); - return (f == 100); - } - - static uint F41(uint x, uint y) - { - return x * y; - } - - static bool Bench41p() - { - uint t = 10; - uint f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - uint t = Ten; - uint f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - uint s = 10; - uint t = Ten; - uint f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - uint s = Ten; - uint t = 10; - uint f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsUInt).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj deleted file mode 100644 index 1775d19d1a..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsUInt.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs deleted file mode 100644 index 7585a3e1fc..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs +++ /dev/null @@ -1,893 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsULong -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Ints feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static ulong Five = 5; - static ulong Ten = 10; - - static ulong Id(ulong x) - { - return x; - } - - static ulong F00(ulong x) - { - return x * x; - } - - static bool Bench00p() - { - ulong t = 10; - ulong f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - ulong t = Ten; - ulong f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - ulong t = Id(10); - ulong f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - ulong t = Id(Ten); - ulong f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - ulong t = Id(10); - ulong f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - ulong t = Id(Ten); - ulong f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - ulong t = 10; - ulong f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - ulong t = Ten; - ulong f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - ulong t = 5; - ulong f = F00(2 * t); - return (f == 100); - } - - static bool Bench00n4() - { - ulong t = Five; - ulong f = F00(2 * t); - return (f == 100); - } - - static ulong F01(ulong x) - { - return 1000 / x; - } - - static bool Bench01p() - { - ulong t = 10; - ulong f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - ulong t = Ten; - ulong f = F01(t); - return (f == 100); - } - - static ulong F02(ulong x) - { - return 20 * (x / 2); - } - - static bool Bench02p() - { - ulong t = 10; - ulong f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - ulong t = Ten; - ulong f = F02(t); - return (f == 100); - } - - static ulong F03(ulong x) - { - return 91 + 1009 % x; - } - - static bool Bench03p() - { - ulong t = 10; - ulong f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - ulong t = Ten; - ulong f = F03(t); - return (f == 100); - } - - static ulong F04(ulong x) - { - return 50 * (x % 4); - } - - static bool Bench04p() - { - ulong t = 10; - ulong f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - ulong t = Ten; - ulong f = F04(t); - return (f == 100); - } - - static ulong F06(ulong x) - { - return 110 - x; - } - - static bool Bench06p() - { - ulong t = 10; - ulong f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - ulong t = Ten; - ulong f = F06(t); - return (f == 100); - } - - static ulong F07(ulong x) - { - return ~x + 111; - } - - static bool Bench07p() - { - ulong t = 10; - ulong f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - ulong t = Ten; - ulong f = F07(t); - return (f == 100); - } - - static ulong F071(ulong x) - { - return (x ^ 0xFFFFFFFFFFFFFFFF) + 111; - } - - static bool Bench07p1() - { - ulong t = 10; - ulong f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - ulong t = Ten; - ulong f = F071(t); - return (f == 100); - } - - static ulong F08(ulong x) - { - return (x & 0x7) + 98; - } - - static bool Bench08p() - { - ulong t = 10; - ulong f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - ulong t = Ten; - ulong f = F08(t); - return (f == 100); - } - - static ulong F09(ulong x) - { - return (x | 0x7) + 85; - } - - static bool Bench09p() - { - ulong t = 10; - ulong f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - ulong t = Ten; - ulong f = F09(t); - return (f == 100); - } - - // Ulongs feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static ulong F10(ulong x) - { - return x == 10 ? 100u : 0u; - } - - static bool Bench10p() - { - ulong t = 10; - ulong f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - ulong t = Ten; - ulong f = F10(t); - return (f == 100); - } - - static ulong F101(ulong x) - { - return x != 10 ? 0u : 100u; - } - - static bool Bench10p1() - { - ulong t = 10; - ulong f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - ulong t = Ten; - ulong f = F101(t); - return (f == 100); - } - - static ulong F102(ulong x) - { - return x >= 10 ? 100u : 0u; - } - - static bool Bench10p2() - { - ulong t = 10; - ulong f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - ulong t = Ten; - ulong f = F102(t); - return (f == 100); - } - - static ulong F103(ulong x) - { - return x <= 10 ? 100u : 0u; - } - - static bool Bench10p3() - { - ulong t = 10; - ulong f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - ulong t = Ten; - ulong f = F102(t); - return (f == 100); - } - - static ulong F11(ulong x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - ulong t = 10; - ulong f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - ulong t = Ten; - ulong f = F11(t); - return (f == 100); - } - - static ulong F111(ulong x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - ulong t = 10; - ulong f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - ulong t = Ten; - ulong f = F111(t); - return (f == 100); - } - - static ulong F112(ulong x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - ulong t = 10; - ulong f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - ulong t = Ten; - ulong f = F112(t); - return (f == 100); - } - static ulong F113(ulong x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - ulong t = 10; - ulong f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - ulong t = Ten; - ulong f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static ulong F20(ulong x) - { - return 100; - } - - static bool Bench20p() - { - ulong t = 10; - ulong f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - ulong t = Ten; - ulong f = F20(t); - return (f == 100); - } - - static ulong F21(ulong x) - { - return x + 100 - x; - } - - static bool Bench21p() - { - ulong t = 10; - ulong f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - ulong t = Ten; - ulong f = F21(t); - return (f == 100); - } - - static ulong F211(ulong x) - { - return x - x + 100; - } - - static bool Bench21p1() - { - ulong t = 10; - ulong f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - ulong t = Ten; - ulong f = F211(t); - return (f == 100); - } - - static ulong F22(ulong x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - ulong t = 10; - ulong f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - ulong t = Ten; - ulong f = F22(t); - return (f == 100); - } - - static ulong F23(ulong x) - { - if (x > 0) - { - return 90 + x; - } - - return 100; - } - - static bool Bench23p() - { - ulong t = 10; - ulong f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - ulong t = Ten; - ulong f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static ulong F30(ulong x, ulong y) - { - return y * y; - } - - static bool Bench30p() - { - ulong t = 10; - ulong f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - ulong t = Ten; - ulong f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - ulong s = Ten; - ulong t = 10; - ulong f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - ulong s = 10; - ulong t = Ten; - ulong f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - ulong s = 10; - ulong t = 10; - ulong f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - ulong s = Ten; - ulong t = Ten; - ulong f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - ulong s = 10; - ulong t = s; - ulong f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - ulong s = Ten; - ulong t = s; - ulong f = F30(s, t); - return (f == 100); - } - - static ulong F31(ulong x, ulong y, ulong z) - { - return z * z; - } - - static bool Bench31p() - { - ulong t = 10; - ulong f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - ulong t = Ten; - ulong f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - ulong r = Ten; - ulong s = Ten; - ulong t = 10; - ulong f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - ulong r = 10; - ulong s = 10; - ulong t = Ten; - ulong f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - ulong r = 10; - ulong s = 10; - ulong t = 10; - ulong f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - ulong r = Ten; - ulong s = Ten; - ulong t = Ten; - ulong f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - ulong r = 10; - ulong s = r; - ulong t = s; - ulong f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - ulong r = Ten; - ulong s = r; - ulong t = s; - ulong f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static ulong F40(ulong x, ulong y) - { - return x * x + y * y - 100; - } - - static bool Bench40p() - { - ulong t = 10; - ulong f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - ulong t = Ten; - ulong f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - ulong s = Ten; - ulong t = 10; - ulong f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - ulong s = 10; - ulong t = Ten; - ulong f = F40(s, t); - return (f == 100); - } - - static ulong F41(ulong x, ulong y) - { - return x * y; - } - - static bool Bench41p() - { - ulong t = 10; - ulong f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - ulong t = Ten; - ulong f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - ulong s = 10; - ulong t = Ten; - ulong f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - ulong s = Ten; - ulong t = 10; - ulong f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsULong).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj deleted file mode 100644 index 81e10be633..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsULong.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs deleted file mode 100644 index c96274e424..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs +++ /dev/null @@ -1,933 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using Microsoft.Xunit.Performance; -using System; -using System.Linq; -using System.Runtime.CompilerServices; -using System.Reflection; -using System.Collections.Generic; -using Xunit; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -namespace Inlining -{ -public static class ConstantArgsUShort -{ - -#if DEBUG - public const int Iterations = 1; -#else - public const int Iterations = 100000; -#endif - - // Ushorts feeding math operations. - // - // Inlining in Bench0xp should enable constant folding - // Inlining in Bench0xn will not enable constant folding - - static ushort Five = 5; - static ushort Ten = 10; - - static ushort Id(ushort x) - { - return x; - } - - static ushort F00(ushort x) - { - return (ushort) (x * x); - } - - static bool Bench00p() - { - ushort t = 10; - ushort f = F00(t); - return (f == 100); - } - - static bool Bench00n() - { - ushort t = Ten; - ushort f = F00(t); - return (f == 100); - } - - static bool Bench00p1() - { - ushort t = Id(10); - ushort f = F00(t); - return (f == 100); - } - - static bool Bench00n1() - { - ushort t = Id(Ten); - ushort f = F00(t); - return (f == 100); - } - - static bool Bench00p2() - { - ushort t = Id(10); - ushort f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00n2() - { - ushort t = Id(Ten); - ushort f = F00(Id(t)); - return (f == 100); - } - - static bool Bench00p3() - { - ushort t = 10; - ushort f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00n3() - { - ushort t = Ten; - ushort f = F00(Id(Id(t))); - return (f == 100); - } - - static bool Bench00p4() - { - ushort t = 5; - ushort f = F00((ushort)(2 * t)); - return (f == 100); - } - - static bool Bench00n4() - { - ushort t = Five; - ushort f = F00((ushort)(2 * t)); - return (f == 100); - } - - static ushort F01(ushort x) - { - return (ushort)(1000 / x); - } - - static bool Bench01p() - { - ushort t = 10; - ushort f = F01(t); - return (f == 100); - } - - static bool Bench01n() - { - ushort t = Ten; - ushort f = F01(t); - return (f == 100); - } - - static ushort F02(ushort x) - { - return (ushort) (20 * (x / 2)); - } - - static bool Bench02p() - { - ushort t = 10; - ushort f = F02(t); - return (f == 100); - } - - static bool Bench02n() - { - ushort t = Ten; - ushort f = F02(t); - return (f == 100); - } - - static ushort F03(ushort x) - { - return (ushort)(91 + 1009 % x); - } - - static bool Bench03p() - { - ushort t = 10; - ushort f = F03(t); - return (f == 100); - } - - static bool Bench03n() - { - ushort t = Ten; - ushort f = F03(t); - return (f == 100); - } - - static ushort F04(ushort x) - { - return (ushort)(50 * (x % 4)); - } - - static bool Bench04p() - { - ushort t = 10; - ushort f = F04(t); - return (f == 100); - } - - static bool Bench04n() - { - ushort t = Ten; - ushort f = F04(t); - return (f == 100); - } - - static ushort F05(ushort x) - { - return (ushort)((1 << x) - 924); - } - - static bool Bench05p() - { - ushort t = 10; - ushort f = F05(t); - return (f == 100); - } - - static bool Bench05n() - { - ushort t = Ten; - ushort f = F05(t); - return (f == 100); - } - - static ushort F051(ushort x) - { - return (ushort)(102400 >> x); - } - - static bool Bench05p1() - { - ushort t = 10; - ushort f = F051(t); - return (f == 100); - } - - static bool Bench05n1() - { - ushort t = Ten; - ushort f = F051(t); - return (f == 100); - } - - static ushort F06(ushort x) - { - return (ushort)(-x + 110); - } - - static bool Bench06p() - { - ushort t = 10; - ushort f = F06(t); - return (f == 100); - } - - static bool Bench06n() - { - ushort t = Ten; - ushort f = F06(t); - return (f == 100); - } - - static ushort F07(ushort x) - { - return (ushort)(~x + 111); - } - - static bool Bench07p() - { - ushort t = 10; - ushort f = F07(t); - return (f == 100); - } - - static bool Bench07n() - { - ushort t = Ten; - ushort f = F07(t); - return (f == 100); - } - - static ushort F071(ushort x) - { - return (ushort)((x ^ -1) + 111); - } - - static bool Bench07p1() - { - ushort t = 10; - ushort f = F071(t); - return (f == 100); - } - - static bool Bench07n1() - { - ushort t = Ten; - ushort f = F071(t); - return (f == 100); - } - - static ushort F08(ushort x) - { - return (ushort)((x & 0x7) + 98); - } - - static bool Bench08p() - { - ushort t = 10; - ushort f = F08(t); - return (f == 100); - } - - static bool Bench08n() - { - ushort t = Ten; - ushort f = F08(t); - return (f == 100); - } - - static ushort F09(ushort x) - { - return (ushort)((x | 0x7) + 85); - } - - static bool Bench09p() - { - ushort t = 10; - ushort f = F09(t); - return (f == 100); - } - - static bool Bench09n() - { - ushort t = Ten; - ushort f = F09(t); - return (f == 100); - } - - // Ushorts feeding comparisons. - // - // Inlining in Bench1xp should enable branch optimization - // Inlining in Bench1xn will not enable branch optimization - - static ushort F10(ushort x) - { - return x == 10 ? (ushort) 100 : (ushort) 0; - } - - static bool Bench10p() - { - ushort t = 10; - ushort f = F10(t); - return (f == 100); - } - - static bool Bench10n() - { - ushort t = Ten; - ushort f = F10(t); - return (f == 100); - } - - static ushort F101(ushort x) - { - return x != 10 ? (ushort) 0 : (ushort) 100; - } - - static bool Bench10p1() - { - ushort t = 10; - ushort f = F101(t); - return (f == 100); - } - - static bool Bench10n1() - { - ushort t = Ten; - ushort f = F101(t); - return (f == 100); - } - - static ushort F102(ushort x) - { - return x >= 10 ? (ushort) 100 : (ushort) 0; - } - - static bool Bench10p2() - { - ushort t = 10; - ushort f = F102(t); - return (f == 100); - } - - static bool Bench10n2() - { - ushort t = Ten; - ushort f = F102(t); - return (f == 100); - } - - static ushort F103(ushort x) - { - return x <= 10 ? (ushort) 100 : (ushort) 0; - } - - static bool Bench10p3() - { - ushort t = 10; - ushort f = F103(t); - return (f == 100); - } - - static bool Bench10n3() - { - ushort t = Ten; - ushort f = F102(t); - return (f == 100); - } - - static ushort F11(ushort x) - { - if (x == 10) - { - return 100; - } - else - { - return 0; - } - } - - static bool Bench11p() - { - ushort t = 10; - ushort f = F11(t); - return (f == 100); - } - - static bool Bench11n() - { - ushort t = Ten; - ushort f = F11(t); - return (f == 100); - } - - static ushort F111(ushort x) - { - if (x != 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p1() - { - ushort t = 10; - ushort f = F111(t); - return (f == 100); - } - - static bool Bench11n1() - { - ushort t = Ten; - ushort f = F111(t); - return (f == 100); - } - - static ushort F112(ushort x) - { - if (x > 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p2() - { - ushort t = 10; - ushort f = F112(t); - return (f == 100); - } - - static bool Bench11n2() - { - ushort t = Ten; - ushort f = F112(t); - return (f == 100); - } - static ushort F113(ushort x) - { - if (x < 10) - { - return 0; - } - else - { - return 100; - } - } - - static bool Bench11p3() - { - ushort t = 10; - ushort f = F113(t); - return (f == 100); - } - - static bool Bench11n3() - { - ushort t = Ten; - ushort f = F113(t); - return (f == 100); - } - - // Ununsed (or effectively unused) parameters - // - // Simple callee analysis may overstate inline benefit - - static ushort F20(ushort x) - { - return 100; - } - - static bool Bench20p() - { - ushort t = 10; - ushort f = F20(t); - return (f == 100); - } - - static bool Bench20p1() - { - ushort t = Ten; - ushort f = F20(t); - return (f == 100); - } - - static ushort F21(ushort x) - { - return (ushort)(-x + 100 + x); - } - - static bool Bench21p() - { - ushort t = 10; - ushort f = F21(t); - return (f == 100); - } - - static bool Bench21n() - { - ushort t = Ten; - ushort f = F21(t); - return (f == 100); - } - - static ushort F211(ushort x) - { - return (ushort)(x - x + 100); - } - - static bool Bench21p1() - { - ushort t = 10; - ushort f = F211(t); - return (f == 100); - } - - static bool Bench21n1() - { - ushort t = Ten; - ushort f = F211(t); - return (f == 100); - } - - static ushort F22(ushort x) - { - if (x > 0) - { - return 100; - } - - return 100; - } - - static bool Bench22p() - { - ushort t = 10; - ushort f = F22(t); - return (f == 100); - } - - static bool Bench22p1() - { - ushort t = Ten; - ushort f = F22(t); - return (f == 100); - } - - static ushort F23(ushort x) - { - if (x > 0) - { - return (ushort)(90 + x); - } - - return 100; - } - - static bool Bench23p() - { - ushort t = 10; - ushort f = F23(t); - return (f == 100); - } - - static bool Bench23n() - { - ushort t = Ten; - ushort f = F23(t); - return (f == 100); - } - - // Multiple parameters - - static ushort F30(ushort x, ushort y) - { - return (ushort)(y * y); - } - - static bool Bench30p() - { - ushort t = 10; - ushort f = F30(t, t); - return (f == 100); - } - - static bool Bench30n() - { - ushort t = Ten; - ushort f = F30(t, t); - return (f == 100); - } - - static bool Bench30p1() - { - ushort s = Ten; - ushort t = 10; - ushort f = F30(s, t); - return (f == 100); - } - - static bool Bench30n1() - { - ushort s = 10; - ushort t = Ten; - ushort f = F30(s, t); - return (f == 100); - } - - static bool Bench30p2() - { - ushort s = 10; - ushort t = 10; - ushort f = F30(s, t); - return (f == 100); - } - - static bool Bench30n2() - { - ushort s = Ten; - ushort t = Ten; - ushort f = F30(s, t); - return (f == 100); - } - - static bool Bench30p3() - { - ushort s = 10; - ushort t = s; - ushort f = F30(s, t); - return (f == 100); - } - - static bool Bench30n3() - { - ushort s = Ten; - ushort t = s; - ushort f = F30(s, t); - return (f == 100); - } - - static ushort F31(ushort x, ushort y, ushort z) - { - return (ushort)(z * z); - } - - static bool Bench31p() - { - ushort t = 10; - ushort f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31n() - { - ushort t = Ten; - ushort f = F31(t, t, t); - return (f == 100); - } - - static bool Bench31p1() - { - ushort r = Ten; - ushort s = Ten; - ushort t = 10; - ushort f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n1() - { - ushort r = 10; - ushort s = 10; - ushort t = Ten; - ushort f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p2() - { - ushort r = 10; - ushort s = 10; - ushort t = 10; - ushort f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n2() - { - ushort r = Ten; - ushort s = Ten; - ushort t = Ten; - ushort f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31p3() - { - ushort r = 10; - ushort s = r; - ushort t = s; - ushort f = F31(r, s, t); - return (f == 100); - } - - static bool Bench31n3() - { - ushort r = Ten; - ushort s = r; - ushort t = s; - ushort f = F31(r, s, t); - return (f == 100); - } - - // Two args, both used - - static ushort F40(ushort x, ushort y) - { - return (ushort)(x * x + y * y - 100); - } - - static bool Bench40p() - { - ushort t = 10; - ushort f = F40(t, t); - return (f == 100); - } - - static bool Bench40n() - { - ushort t = Ten; - ushort f = F40(t, t); - return (f == 100); - } - - static bool Bench40p1() - { - ushort s = Ten; - ushort t = 10; - ushort f = F40(s, t); - return (f == 100); - } - - static bool Bench40p2() - { - ushort s = 10; - ushort t = Ten; - ushort f = F40(s, t); - return (f == 100); - } - - static ushort F41(ushort x, ushort y) - { - return (ushort)(x * y); - } - - static bool Bench41p() - { - ushort t = 10; - ushort f = F41(t, t); - return (f == 100); - } - - static bool Bench41n() - { - ushort t = Ten; - ushort f = F41(t, t); - return (f == 100); - } - - static bool Bench41p1() - { - ushort s = 10; - ushort t = Ten; - ushort f = F41(s, t); - return (f == 100); - } - - static bool Bench41p2() - { - ushort s = Ten; - ushort t = 10; - ushort f = F41(s, t); - return (f == 100); - } - - private static IEnumerable<object[]> MakeArgs(params string[] args) - { - return args.Select(arg => new object[] { arg }); - } - - public static IEnumerable<object[]> TestFuncs = MakeArgs( - "Bench00p", "Bench00n", - "Bench00p1", "Bench00n1", - "Bench00p2", "Bench00n2", - "Bench00p3", "Bench00n3", - "Bench00p4", "Bench00n4", - "Bench01p", "Bench01n", - "Bench02p", "Bench02n", - "Bench03p", "Bench03n", - "Bench04p", "Bench04n", - "Bench05p", "Bench05n", - "Bench05p1", "Bench05n1", - "Bench06p", "Bench06n", - "Bench07p", "Bench07n", - "Bench07p1", "Bench07n1", - "Bench08p", "Bench08n", - "Bench09p", "Bench09n", - "Bench10p", "Bench10n", - "Bench10p1", "Bench10n1", - "Bench10p2", "Bench10n2", - "Bench10p3", "Bench10n3", - "Bench11p", "Bench11n", - "Bench11p1", "Bench11n1", - "Bench11p2", "Bench11n2", - "Bench11p3", "Bench11n3", - "Bench20p", "Bench20p1", - "Bench21p", "Bench21n", - "Bench21p1", "Bench21n1", - "Bench22p", "Bench22p1", - "Bench23p", "Bench23n", - "Bench30p", "Bench30n", - "Bench30p1", "Bench30n1", - "Bench30p2", "Bench30n2", - "Bench30p3", "Bench30n3", - "Bench31p", "Bench31n", - "Bench31p1", "Bench31n1", - "Bench31p2", "Bench31n2", - "Bench31p3", "Bench31n3", - "Bench40p", "Bench40n", - "Bench40p1", "Bench40p2", - "Bench41p", "Bench41n", - "Bench41p1", "Bench41p2" - ); - - static Func<bool> LookupFunc(object o) - { - TypeInfo t = typeof(ConstantArgsUShort).GetTypeInfo(); - MethodInfo m = t.GetDeclaredMethod((string) o); - return m.CreateDelegate(typeof(Func<bool>)) as Func<bool>; - } - - [Benchmark] - [MemberData(nameof(TestFuncs))] - public static void Test(object funcName) - { - Func<bool> f = LookupFunc(funcName); - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - for (int i = 0; i < Iterations; i++) - { - f(); - } - } - } - } - - static bool TestBase(Func<bool> f) - { - bool result = true; - for (int i = 0; i < Iterations; i++) - { - result &= f(); - } - return result; - } - - public static int Main() - { - bool result = true; - - foreach(object[] o in TestFuncs) - { - string funcName = (string) o[0]; - Func<bool> func = LookupFunc(funcName); - bool thisResult = TestBase(func); - if (!thisResult) - { - Console.WriteLine("{0} failed", funcName); - } - result &= thisResult; - } - - return (result ? 100 : -1); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj deleted file mode 100644 index fb88ffb4d2..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> - <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> - <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> - <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> - <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - </PropertyGroup> - <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - </PropertyGroup> - <ItemGroup> - <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> - <Visible>False</Visible> - </CodeAnalysisDependentAssemblyPaths> - </ItemGroup> - <ItemGroup> - <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> - </ItemGroup> - <ItemGroup> - <Compile Include="ConstantArgsUShort.cs" /> - </ItemGroup> - <PropertyGroup> - <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> - <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> - </PropertyGroup> - <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj index cb3381638c..7ecdbab687 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/InlineGCStruct.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> diff --git a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj index 75f6176581..34b42c389f 100644 --- a/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Inlining/NoThrowInline.csproj @@ -7,12 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj index 99fa3f03c6..2fc6cb0419 100644 --- a/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Linq/Linq.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj index 7e7a74e142..773472d4a4 100644 --- a/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Math/Functions/Functions.csproj @@ -7,13 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{C949CB07-60B2-420A-B3CA-59847ED4700B}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp> - </NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj index b99d74b9bc..baea313f2c 100644 --- a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,19 +7,15 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> <GCStressIncompatible>true</GCStressIncompatible> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -39,6 +35,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+roslyn\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj index 73a4c99541..b6224770fa 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/ConsoleMandel/ConsoleMandel.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -47,6 +43,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj index 00db618453..0b1e5be0ae 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/RayTracer/RayTracer.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -53,6 +49,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs index 3253e255d6..81d9c0952f 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.cs @@ -140,7 +140,7 @@ public static class SeekUnroll // Main method entrypoint runs the manual timer loop - public static int Main() + public static int Main(string[] args) { int failures = 0; @@ -151,9 +151,20 @@ public static class SeekUnroll InnerIterations = 100000; } + int manualLoopCount = 1; + if (args == null || args.Length == 0) + { + Console.WriteLine("Warning: no iteration count specified; defaulting to 1 iteration per case"); + Console.WriteLine("To use multiple iterations per case, pass the desired number of iterations as the first command-line argument to this test"); + } + else + { + manualLoopCount = int.Parse(args[0]); + } + foreach(int index in IndicesToTest) { - ManualLoopTimes = new long[10]; + ManualLoopTimes = new long[manualLoopCount]; bool passed = Test(index, false); if (!passed) { diff --git a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj index 53cfe42001..d5c72559ec 100644 --- a/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SIMD/SeekUnroll/SeekUnroll.csproj @@ -7,10 +7,7 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{9AE6E18D-B3F9-4216-9809-125824387175}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj index 28127efebc..917d749d41 100644 --- a/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj +++ b/tests/src/JIT/Performance/CodeQuality/SciMark/SciMark.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,19 +7,15 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> <AssemblyName>SciMark</AssemblyName> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -48,6 +44,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..5497232ed0 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/SciMark/THIRD-PARTY-NOTICES @@ -0,0 +1,33 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for SciMark C# +----------------------------- + +https://github.com/dosvidos/SciMark + +<license> +This is a port of the SciMark2a Java Benchmark to C# by +Chris Re (cmr28@cornell.edu) and Werner Vogels (vogels@cs.cornell.edu) + +For details on the original authors see http://math.nist.gov/scimark2 + +This software is likely to burn your processor, bitflip your memory chips +anihilate your screen and corrupt all your disks, so you it at your +own risk. +</license> + +License notice for SciMark 2.0 +------------------------------ + +http://math.nist.gov/scimark2/credits.html + +As this software was developed as part of work done by the United States Government, it is not subject to copyright, and is in the public domain. +We would, however, appreciate acknowledgements if this work is found useful. Note that according to GNU.org public domain is compatible with GPL. diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj index 8f95407729..c08d1cd14b 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Deserialize.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj index 60df05075b..04798526f9 100644 --- a/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Serialization/Serialize.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark+serialize\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs new file mode 100644 index 0000000000..d84152132d --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.cs @@ -0,0 +1,1194 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text; +using Xunit; +using Microsoft.Xunit.Performance; + +[assembly: OptimizeForBenchmarks] +[assembly: MeasureInstructionsRetired] + +namespace Span +{ + public class SpanBench + { + +#if DEBUG + const int BubbleSortIterations = 1; + const int QuickSortIterations = 1; + const int FillAllIterations = 1; + const int BaseIterations = 1; +#else + // Appropriately-scaled iteration counts for the various benchmarks + const int BubbleSortIterations = 100; + const int QuickSortIterations = 1000; + const int FillAllIterations = 100000; + const int BaseIterations = 10000000; +#endif + + // Default length for arrays of mock input data + const int DefaultLength = 1024; + + // Helpers + #region Helpers + [StructLayout(LayoutKind.Sequential)] + private sealed class TestClass<T> + { + private double _d; + public T[] C0; + } + + // Copying the result of a computation to Sink<T>.Instance is a way + // to prevent the jit from considering the computation dead and removing it. + private sealed class Sink<T> + { + public T Data; + public static Sink<T> Instance = new Sink<T>(); + } + + // Use statics to smuggle some information from Main to Invoke when running tests + // from the command line. + static bool IsXunitInvocation = true; // xunit-perf leaves this true; command line Main sets to false + static int CommandLineInnerIterationCount = 0; // used to communicate iteration count from BenchmarkAttribute + // (xunit-perf exposes the same in static property Benchmark.InnerIterationCount) + static bool DoWarmUp; // Main sets this when calling a new benchmark routine + + + // Invoke routine to abstract away the difference between running under xunit-perf vs running from the + // command line. Inner loop to be measured is taken as an Action<int>, and invoked passing the number + // of iterations that the inner loop should execute. + static void Invoke(Action<int> innerLoop, string nameFormat, params object[] nameArgs) + { + if (IsXunitInvocation) + { + foreach (var iteration in Benchmark.Iterations) + using (iteration.StartMeasurement()) + innerLoop((int)Benchmark.InnerIterationCount); + } + else + { + if (DoWarmUp) + { + // Run some warm-up iterations before measuring + innerLoop(CommandLineInnerIterationCount); + // Clear the flag since we're now warmed up (caller will + // reset it before calling new code) + DoWarmUp = false; + } + + // Now do the timed run of the inner loop. + Stopwatch sw = Stopwatch.StartNew(); + innerLoop(CommandLineInnerIterationCount); + sw.Stop(); + + // Print result. + string name = String.Format(nameFormat, nameArgs); + double timeInMs = sw.Elapsed.TotalMilliseconds; + Console.WriteLine("{0}: {1}ms", name, timeInMs); + } + } + + // Helper for the sort tests to get some pseudo-random input + static int[] GetUnsortedData(int length) + { + int[] unsortedData = new int[length]; + Random r = new Random(42); + for (int i = 0; i < unsortedData.Length; ++i) + { + unsortedData[i] = r.Next(); + } + return unsortedData; + } + #endregion // helpers + + // Tests that implement some vary basic algorithms (fill/sort) over spans and arrays + #region Algorithm tests + + #region TestFillAllSpan + [Benchmark(InnerIterationCount = FillAllIterations)] + [InlineData(DefaultLength)] + public static void FillAllSpan(int length) + { + byte[] a = new byte[length]; + + Invoke((int innerIterationCount) => + { + Span<byte> s = new Span<byte>(a); + for (int i = 0; i < innerIterationCount; ++i) + { + TestFillAllSpan(s); + } + }, + "TestFillAllSpan({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllSpan(Span<byte> span) + { + for (int i = 0; i < span.Length; ++i) + { + span[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllArray + [Benchmark(InnerIterationCount = FillAllIterations)] + [InlineData(DefaultLength)] + public static void FillAllArray(int length) + { + byte[] a = new byte[length]; + + Invoke((int innerIterationCount) => + { + for (int i = 0; i < innerIterationCount; ++i) + { + TestFillAllArray(a); + } + }, + "TestFillArray({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllArray(byte[] data) + { + for (int i = 0; i < data.Length; ++i) + { + data[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllReverseSpan + [Benchmark(InnerIterationCount = FillAllIterations)] + [InlineData(DefaultLength)] + public static void FillAllReverseSpan(int length) + { + byte[] a = new byte[length]; + + Invoke((int innerIterationCount) => + { + Span<byte> s = new Span<byte>(a); + for (int i = 0; i < innerIterationCount; ++i) + { + TestFillAllReverseSpan(s); + } + }, + "TestFillAllReverseSpan({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllReverseSpan(Span<byte> span) + { + for (int i = span.Length; --i >= 0;) + { + span[i] = unchecked((byte)i); + } + } + #endregion + + #region TestFillAllReverseArray + [Benchmark(InnerIterationCount = FillAllIterations)] + [InlineData(DefaultLength)] + public static void FillAllReverseArray(int length) + { + byte[] a = new byte[length]; + + Invoke((int innerIterationCount) => + { + for (int i = 0; i < innerIterationCount; ++i) + { + TestFillAllReverseArray(a); + } + }, + "TestFillAllReverseArray({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestFillAllReverseArray(byte[] data) + { + for (int i = data.Length; --i >= 0;) + { + data[i] = unchecked((byte)i); + } + } + #endregion + + #region TestQuickSortSpan + [Benchmark(InnerIterationCount = QuickSortIterations)] + [InlineData(DefaultLength)] + public static void QuickSortSpan(int length) + { + int[] data = new int[length]; + int[] unsortedData = GetUnsortedData(length); + + Invoke((int innerIterationCount) => + { + Span<int> span = new Span<int>(data); + + for (int i = 0; i < innerIterationCount; ++i) + { + Array.Copy(unsortedData, data, length); + TestQuickSortSpan(span); + } + }, + "TestQuickSortSpan({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestQuickSortSpan(Span<int> data) + { + if (data.Length <= 1) + { + return; + } + + int lo = 0; + int hi = data.Length - 1; + int i, j; + int pivot, temp; + for (i = lo, j = hi, pivot = data[hi]; i < j;) + { + while (i < j && data[i] <= pivot) + { + ++i; + } + while (j > i && data[j] >= pivot) + { + --j; + } + if (i < j) + { + temp = data[i]; + data[i] = data[j]; + data[j] = temp; + } + } + if (i != hi) + { + temp = data[i]; + data[i] = pivot; + data[hi] = temp; + } + + TestQuickSortSpan(data.Slice(0, i)); + TestQuickSortSpan(data.Slice(i + 1)); + } + #endregion + + #region TestBubbleSortSpan + [Benchmark(InnerIterationCount = BubbleSortIterations)] + [InlineData(DefaultLength)] + public static void BubbleSortSpan(int length) + { + int[] data = new int[length]; + int[] unsortedData = GetUnsortedData(length); + + Invoke((int innerIterationCount) => + { + Span<int> span = new Span<int>(data); + + for (int i = 0; i < innerIterationCount; i++) + { + Array.Copy(unsortedData, data, length); + TestBubbleSortSpan(span); + } + }, + "TestBubbleSortSpan({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestBubbleSortSpan(Span<int> span) + { + bool swap; + int temp; + int n = span.Length - 1; + do + { + swap = false; + for (int i = 0; i < n; i++) + { + if (span[i] > span[i + 1]) + { + temp = span[i]; + span[i] = span[i + 1]; + span[i + 1] = temp; + swap = true; + } + } + --n; + } + while (swap); + } + #endregion + + #region TestQuickSortArray + [Benchmark(InnerIterationCount = QuickSortIterations)] + [InlineData(DefaultLength)] + public static void QuickSortArray(int length) + { + int[] data = new int[length]; + int[] unsortedData = GetUnsortedData(length); + + Invoke((int innerIterationCount) => + { + for (int i = 0; i < innerIterationCount; i++) + { + Array.Copy(unsortedData, data, length); + TestQuickSortArray(data, 0, data.Length - 1); + } + }, + "TestQuickSortArray({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestQuickSortArray(int[] data, int lo, int hi) + { + if (lo >= hi) + { + return; + } + + int i, j; + int pivot, temp; + for (i = lo, j = hi, pivot = data[hi]; i < j;) + { + while (i < j && data[i] <= pivot) + { + ++i; + } + while (j > i && data[j] >= pivot) + { + --j; + } + if (i < j) + { + temp = data[i]; + data[i] = data[j]; + data[j] = temp; + } + } + if (i != hi) + { + temp = data[i]; + data[i] = pivot; + data[hi] = temp; + } + + TestQuickSortArray(data, lo, i - 1); + TestQuickSortArray(data, i + 1, hi); + } + #endregion + + #region TestBubbleSortArray + [Benchmark(InnerIterationCount = BubbleSortIterations)] + [InlineData(DefaultLength)] + public static void BubbleSortArray(int length) + { + int[] data = new int[length]; + int[] unsortedData = GetUnsortedData(length); + + Invoke((int innerIterationCount) => + { + for (int i = 0; i < innerIterationCount; i++) + { + Array.Copy(unsortedData, data, length); + TestBubbleSortArray(data); + } + }, + "TestBubbleSortArray({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestBubbleSortArray(int[] data) + { + bool swap; + int temp; + int n = data.Length - 1; + do + { + swap = false; + for (int i = 0; i < n; i++) + { + if (data[i] > data[i + 1]) + { + temp = data[i]; + data[i] = data[i + 1]; + data[i + 1] = temp; + swap = true; + } + } + --n; + } + while (swap); + } + #endregion + + #endregion // Algorithm tests + + // TestSpanAPIs (For comparison with Array and Slow Span) + #region TestSpanAPIs + + #region TestSpanConstructor<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanConstructorByte(int length) + { + InvokeTestSpanConstructor<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanConstructorString(int length) + { + InvokeTestSpanConstructor<string>(length); + } + + static void InvokeTestSpanConstructor<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanConstructor<T>(array, innerIterationCount, false), + "TestSpanConstructor<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanConstructor<T>(T[] array, int iterationCount, bool untrue) + { + var sink = Sink<T>.Instance; + + for (int i = 0; i < iterationCount; i++) + { + var span = new Span<T>(array); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'span' to make sure it's not dead, and an assignment + // to 'array' so the constructor call won't get hoisted. + if (untrue) { sink.Data = span[0]; array = new T[iterationCount]; } + } + } + #endregion + + #region TestSpanDangerousCreate<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanDangerousCreateByte(int length) + { + InvokeTestSpanDangerousCreate<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanDangerousCreateString(int length) + { + InvokeTestSpanDangerousCreate<string>(length); + } + + static void InvokeTestSpanDangerousCreate<T>(int length) + { + TestClass<T> testClass = new TestClass<T>(); + testClass.C0 = new T[length]; + + Invoke((int innerIterationCount) => TestSpanDangerousCreate<T>(testClass, innerIterationCount, false), + "TestSpanDangerousCreate<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanDangerousCreate<T>(TestClass<T> testClass, int iterationCount, bool untrue) + { + var sink = Sink<T>.Instance; + + for (int i = 0; i < iterationCount; i++) + { + var span = Span<T>.DangerousCreate(testClass, ref testClass.C0[0], testClass.C0.Length); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'span' to make sure it's not dead, and an assignment + // to 'testClass' so the DangerousCreate call won't get hoisted. + if (untrue) { sink.Data = span[0]; testClass = new TestClass<T>(); } + } + } + #endregion + + #region TestSpanDangerousGetPinnableReference<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanDangerousGetPinnableReferenceByte(int length) + { + InvokeTestSpanDangerousGetPinnableReference<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanDangerousGetPinnableReferenceString(int length) + { + InvokeTestSpanDangerousGetPinnableReference<string>(length); + } + + static void InvokeTestSpanDangerousGetPinnableReference<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanDangerousGetPinnableReference<T>(array, innerIterationCount), + "TestSpanDangerousGetPinnableReference<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanDangerousGetPinnableReference<T>(T[] array, int iterationCount) + { + var sink = Sink<T>.Instance; + var span = new Span<T>(array); + + for (int i = 0; i < iterationCount; i++) + { + ref T temp = ref span.DangerousGetPinnableReference(); + sink.Data = temp; + } + } + #endregion + + #region TestSpanIndexHoistable<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanIndexHoistableByte(int length) + { + InvokeTestSpanIndexHoistable<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanIndexHoistableString(int length) + { + InvokeTestSpanIndexHoistable<string>(length); + } + + static void InvokeTestSpanIndexHoistable<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanIndexHoistable<T>(array, length, innerIterationCount), + "TestSpanIndexHoistable<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanIndexHoistable<T>(T[] array, int length, int iterationCount) + { + var sink = Sink<T>.Instance; + var span = new Span<T>(array); + + for (int i = 0; i < iterationCount; i++) + sink.Data = span[length/2]; + } + #endregion + + #region TestArrayIndexHoistable<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayIndexHoistableByte(int length) + { + InvokeTestArrayIndexHoistable<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayIndexHoistableString(int length) + { + InvokeTestArrayIndexHoistable<string>(length); + } + + static void InvokeTestArrayIndexHoistable<T>(int length) + { + var array = new T[length]; + Invoke((int innerIterationCount) => TestArrayIndexHoistable<T>(array, length, innerIterationCount), + "TestArrayIndexHoistable<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestArrayIndexHoistable<T>(T[] array, int length, int iterationCount) + { + var sink = Sink<T>.Instance; + + for (int i = 0; i < iterationCount; i++) + sink.Data = array[length / 2]; + } + #endregion + + #region TestSpanIndexVariant<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanIndexVariantByte(int length) + { + InvokeTestSpanIndexVariant<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanIndexVariantString(int length) + { + InvokeTestSpanIndexVariant<string>(length); + } + + static void InvokeTestSpanIndexVariant<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanIndexVariant<T>(array, length, innerIterationCount), + "TestSpanIndexVariant<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanIndexVariant<T>(T[] array, int length, int iterationCount) + { + var sink = Sink<T>.Instance; + var span = new Span<T>(array); + int mask = (length < 2 ? 0 : (length < 8 ? 1 : 7)); + + for (int i = 0; i < iterationCount; i++) + sink.Data = span[i & mask]; + } + #endregion + + #region TestArrayIndexVariant<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayIndexVariantByte(int length) + { + InvokeTestArrayIndexVariant<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayIndexVariantString(int length) + { + InvokeTestArrayIndexVariant<string>(length); + } + + static void InvokeTestArrayIndexVariant<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestArrayIndexVariant<T>(array, length, innerIterationCount), + "TestArrayIndexVariant<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestArrayIndexVariant<T>(T[] array, int length, int iterationCount) + { + var sink = Sink<T>.Instance; + int mask = (length < 2 ? 0 : (length < 8 ? 1 : 7)); + + for (int i = 0; i < iterationCount; i++) + { + sink.Data = array[i & mask]; + } + } + #endregion + + #region TestSpanSlice<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanSliceByte(int length) + { + InvokeTestSpanSlice<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanSliceString(int length) + { + InvokeTestSpanSlice<string>(length); + } + + static void InvokeTestSpanSlice<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanSlice<T>(array, length, innerIterationCount, false), + "TestSpanSlice<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanSlice<T>(T[] array, int length, int iterationCount, bool untrue) + { + var span = new Span<T>(array); + var sink = Sink<T>.Instance; + + for (int i = 0; i < iterationCount; i++) + { + var slice = span.Slice(length / 2); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'span' to make sure it's not dead, and an assignment + // to 'array' so the slice call won't get hoisted. + if (untrue) { sink.Data = slice[0]; array = new T[iterationCount]; } + } + } + #endregion + + #region TestSpanToArray<T> + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanToArrayByte(int length) + { + InvokeTestSpanToArray<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanToArrayString(int length) + { + InvokeTestSpanToArray<string>(length); + } + + static void InvokeTestSpanToArray<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanToArray<T>(array, length, innerIterationCount), + "TestSpanToArray<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanToArray<T>(T[] array, int length, int iterationCount) + { + var span = new Span<T>(array); + var sink = Sink<T[]>.Instance; + + for (int i = 0; i < iterationCount; i++) + sink.Data = span.ToArray(); + } + #endregion + + #region TestSpanCopyTo<T> + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanCopyToByte(int length) + { + InvokeTestSpanCopyTo<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanCopyToString(int length) + { + InvokeTestSpanCopyTo<string>(length); + } + + static void InvokeTestSpanCopyTo<T>(int length) + { + var array = new T[length]; + var destArray = new T[array.Length]; + + Invoke((int innerIterationCount) => TestSpanCopyTo<T>(array, destArray, innerIterationCount), + "TestSpanCopyTo<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanCopyTo<T>(T[] array, T[] destArray, int iterationCount) + { + var span = new Span<T>(array); + var destination = new Span<T>(destArray); + + for (int i = 0; i < iterationCount; i++) + span.CopyTo(destination); + } + #endregion + + #region TestArrayCopyTo<T> + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayCopyToByte(int length) + { + InvokeTestArrayCopyTo<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayCopyToString(int length) + { + InvokeTestArrayCopyTo<string>(length); + } + + static void InvokeTestArrayCopyTo<T>(int length) + { + var array = new T[length]; + var destination = new T[array.Length]; + + Invoke((int innerIterationCount) => TestArrayCopyTo<T>(array, destination, innerIterationCount), + "TestArrayCopyTo<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestArrayCopyTo<T>(T[] array, T[] destination, int iterationCount) + { + for (int i = 0; i < iterationCount; i++) + array.CopyTo(destination, 0); + } + #endregion + + #region TestSpanFill<T> + [Benchmark(InnerIterationCount = BaseIterations * 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanFillByte(int length) + { + InvokeTestSpanFill<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 100)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanFillString(int length) + { + InvokeTestSpanFill<string>(length); + } + + static void InvokeTestSpanFill<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanFill<T>(array, innerIterationCount), + "TestSpanFill<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanFill<T>(T[] array, int iterationCount) + { + var span = new Span<T>(array); + for (int i = 0; i < iterationCount; i++) + span.Fill(default(T)); + } + #endregion + + #region TestSpanClear<T> + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanClearByte(int length) + { + InvokeTestSpanClear<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanClearString(int length) + { + InvokeTestSpanClear<string>(length); + } + + static void InvokeTestSpanClear<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanClear<T>(array, innerIterationCount), + "TestSpanClear<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanClear<T>(T[] array, int iterationCount) + { + var span = new Span<T>(array); + for (int i = 0; i < iterationCount; i++) + span.Clear(); + } + #endregion + + #region TestArrayClear<T> + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayClearByte(int length) + { + InvokeTestArrayClear<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations / 10)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestArrayClearString(int length) + { + InvokeTestArrayClear<string>(length); + } + + static void InvokeTestArrayClear<T>(int length) + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestArrayClear<T>(array, length, innerIterationCount), + "TestArrayClear<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestArrayClear<T>(T[] array, int length, int iterationCount) + { + for (int i = 0; i < iterationCount; i++) + Array.Clear(array, 0, length); + } + #endregion + + #region TestSpanAsBytes<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanAsBytesByte(int length) + { + InvokeTestSpanAsBytes<byte>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanAsBytesInt(int length) + { + InvokeTestSpanAsBytes<int>(length); + } + + static void InvokeTestSpanAsBytes<T>(int length) + where T : struct + { + var array = new T[length]; + + Invoke((int innerIterationCount) => TestSpanAsBytes<T>(array, innerIterationCount, false), + "TestSpanAsBytes<{0}>({1})", typeof(T).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanAsBytes<T>(T[] array, int iterationCount, bool untrue) + where T : struct + { + var sink = Sink<byte>.Instance; + var span = new Span<T>(array); + + for (int i = 0; i < iterationCount; i++) + { + var byteSpan = span.AsBytes(); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'byteSpan' to make sure it's not dead, and an assignment + // to 'span' so the AsBytes call won't get hoisted. + if (untrue) { sink.Data = byteSpan[0]; span = new Span<T>(); } + } + } + #endregion + + #region TestSpanNonPortableCast<T> + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanNonPortableCastFromByteToInt(int length) + { + InvokeTestSpanNonPortableCast<byte, int>(length); + } + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanNonPortableCastFromIntToByte(int length) + { + InvokeTestSpanNonPortableCast<int, byte>(length); + } + + static void InvokeTestSpanNonPortableCast<From, To>(int length) + where From : struct + where To : struct + { + var array = new From[length]; + + Invoke((int innerIterationCount) => TestSpanNonPortableCast<From, To>(array, innerIterationCount, false), + "TestSpanNonPortableCast<{0}, {1}>({2})", typeof(From).Name, typeof(To).Name, length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanNonPortableCast<From, To>(From[] array, int iterationCount, bool untrue) + where From : struct + where To : struct + { + var sink = Sink<To>.Instance; + var span = new Span<From>(array); + + for (int i = 0; i < iterationCount; i++) + { + var toSpan = span.NonPortableCast<From, To>(); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'toSpan' to make sure it's not dead, and an assignment + // to 'span' so the AsBytes call won't get hoisted. + if (untrue) { sink.Data = toSpan[0]; span = new Span<From>(); } + } + } + #endregion + + #region TestSpanAsSpanStringChar<T> + + [Benchmark(InnerIterationCount = BaseIterations)] + [InlineData(1)] + [InlineData(10)] + [InlineData(100)] + [InlineData(1000)] + public static void TestSpanAsSpanStringCharWrapper(int length) + { + StringBuilder sb = new StringBuilder(); + Random rand = new Random(42); + char[] c = new char[1]; + for (int i = 0; i < length; i++) + { + c[0] = (char)rand.Next(32, 126); + sb.Append(new string(c)); + } + string s = sb.ToString(); + + Invoke((int innerIterationCount) => TestSpanAsSpanStringChar(s, innerIterationCount, false), + "TestSpanAsSpanStringChar({0})", length); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void TestSpanAsSpanStringChar(string s, int iterationCount, bool untrue) + { + var sink = Sink<char>.Instance; + + for (int i = 0; i < iterationCount; i++) + { + var charSpan = s.AsSpan(); + // Under a condition that we know is false but the jit doesn't, + // add a read from 'charSpan' to make sure it's not dead, and an assignment + // to 's' so the AsBytes call won't get hoisted. + if (untrue) { sink.Data = charSpan[0]; s = "block hoisting the call to AsSpan()"; } + } + } + + #endregion + + #endregion // TestSpanAPIs + + + public static int Main(string[] args) + { + // When we call into Invoke, it'll need to know this isn't xunit-perf running + IsXunitInvocation = false; + + // Now simulate xunit-perf's benchmark discovery so we know what tests to invoke + TypeInfo t = typeof(SpanBench).GetTypeInfo(); + foreach(MethodInfo m in t.DeclaredMethods) + { + BenchmarkAttribute benchAttr = m.GetCustomAttribute<BenchmarkAttribute>(); + if (benchAttr != null) + { + // All benchmark methods in this test set the InnerIterationCount on their BenchmarkAttribute. + // Take max of specified count and 1 since some tests use expressions for their count that + // evaluate to 0 under DEBUG. + CommandLineInnerIterationCount = Math.Max((int)benchAttr.InnerIterationCount, 1); + + // Request a warm-up iteration before measuring this benchmark method. + DoWarmUp = true; + + // Get the benchmark to measure as a delegate taking the number of inner-loop iterations to run + var invokeMethod = m.CreateDelegate(typeof(Action<int>)) as Action<int>; + + // All the benchmarks methods in this test use [InlineData] to specify how many times and with + // what arguments they should be run. + foreach (InlineDataAttribute dataAttr in m.GetCustomAttributes<InlineDataAttribute>()) + { + foreach (object[] data in dataAttr.GetData(m)) + { + // All the benchmark methods in this test take a single int parameter + invokeMethod((int)data[0]); + } + } + } + } + + // The only failure modes are crash/exception. + return 100; + } + } +}
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.csproj b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj index 0b25633aeb..7404828bcd 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.csproj +++ b/tests/src/JIT/Performance/CodeQuality/Span/SpanBench.csproj @@ -1,5 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <!-- Always use latest Roslyn compiler --> + <Import Project="..\..\..\..\..\..\Tools\net46\roslyn\build\Microsoft.Net.Compilers.props"/> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -7,19 +9,16 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> - <GCStressIncompatible>true</GCStressIncompatible> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -32,7 +31,7 @@ <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> </ItemGroup> <ItemGroup> - <Compile Include="DeltaBlue.cs" /> + <Compile Include="SpanBench.cs" /> </ItemGroup> <PropertyGroup> <ProjectJson>$(JitPackagesConfigFileDirectory)benchmark\project.json</ProjectJson> diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj index 112d7b5a9e..ec9e4e1bbf 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj +++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/Crypto.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..10aab05ff7 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/V8/Crypto/THIRD-PARTY-NOTICES @@ -0,0 +1,41 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for V8.Crypto +---------------------------- + + Copyright (c) 2003-2005 Tom Wu + All Rights Reserved. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + + IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + In addition, the following condition applies: + + All redistributions must retain an intact copy of this copyright notice + and disclaimer. diff --git a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs b/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs deleted file mode 100644 index 27f77182b2..0000000000 --- a/tests/src/JIT/Performance/CodeQuality/V8/DeltaBlue/DeltaBlue.cs +++ /dev/null @@ -1,1071 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. -/* - This is a Java implemention of the DeltaBlue algorithm described in: - "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver" - by Bjorn N. Freeman-Benson and John Maloney - January 1990 Communications of the ACM, - also available as University of Washington TR 89-08-06. - - This implementation by Mario Wolczko, Sun Microsystems, Sep 1996, - based on the Smalltalk implementation by John Maloney. - -*/ - -// The code has been adapted for use as a C# benchmark by Microsoft. - -#define USE_STACK - -using Microsoft.Xunit.Performance; -using System; -using System.Collections; - -[assembly: OptimizeForBenchmarks] -[assembly: MeasureInstructionsRetired] - -/* -Strengths are used to measure the relative importance of constraints. -New strengths may be inserted in the strength hierarchy without -disrupting current constraints. Strengths cannot be created outside -this class, so pointer comparison can be used for value comparison. -*/ - -namespace V8 -{ -internal class Strength -{ - private int _strengthValue; - private String _name; - - private Strength(int strengthValue, String name) - { - _strengthValue = strengthValue; - _name = name; - } - - public static Boolean stronger(Strength s1, Strength s2) - { - return s1._strengthValue < s2._strengthValue; - } - - public static Boolean weaker(Strength s1, Strength s2) - { - return s1._strengthValue > s2._strengthValue; - } - - public static Strength weakestOf(Strength s1, Strength s2) - { - return weaker(s1, s2) ? s1 : s2; - } - - public static Strength strongest(Strength s1, Strength s2) - { - return stronger(s1, s2) ? s1 : s2; - } - - // for iteration - public Strength nextWeaker() - { - switch (_strengthValue) - { - case 0: return weakest; - case 1: return weakDefault; - case 2: return normal; - case 3: return strongDefault; - case 4: return preferred; - case 5: return strongPreferred; - - case 6: - default: - Console.Error.WriteLine("Invalid call to nextStrength()!"); - //System.exit(1); - return null; - } - } - - // Strength constants - public static Strength required = new Strength(0, "required"); - public static Strength strongPreferred = new Strength(1, "strongPreferred"); - public static Strength preferred = new Strength(2, "preferred"); - public static Strength strongDefault = new Strength(3, "strongDefault"); - public static Strength normal = new Strength(4, "normal"); - public static Strength weakDefault = new Strength(5, "weakDefault"); - public static Strength weakest = new Strength(6, "weakest"); - - public void print() - { - Console.Write("strength[" + _strengthValue + "]"); - } -} - - - - -//------------------------------ variables ------------------------------ - -// I represent a constrained variable. In addition to my value, I -// maintain the structure of the constraint graph, the current -// dataflow graph, and various parameters of interest to the DeltaBlue -// incremental constraint solver. - -internal class Variable -{ - public int value; // my value; changed by constraints - public ArrayList constraints; // normal constraints that reference me - public Constraint determinedBy; // the constraint that currently determines - // my value (or null if there isn't one) - public int mark; // used by the planner to mark constraints - public Strength walkStrength; // my walkabout strength - public Boolean stay; // true if I am a planning-time constant - public String name; // a symbolic name for reporting purposes - - - private Variable(String name, int initialValue, Strength walkStrength, - int nconstraints) - { - value = initialValue; - constraints = new ArrayList(nconstraints); - determinedBy = null; - mark = 0; - this.walkStrength = walkStrength; - stay = true; - this.name = name; - } - - public Variable(String name, int value) : this(name, value, Strength.weakest, 2) - { - } - - public Variable(String name) : this(name, 0, Strength.weakest, 2) - { - } - - public void print() - { - Console.Write(name + "("); - walkStrength.print(); - Console.Write("," + value + ")"); - } - - // Add the given constraint to the set of all constraints that refer to me. - public void addConstraint(Constraint c) - { - constraints.Add(c); - } - - // Remove all traces of c from this variable. - public void removeConstraint(Constraint c) - { - constraints.Remove(c); - if (determinedBy == c) determinedBy = null; - } - - // Attempt to assign the given value to me using the given strength. - public void setValue(int value, Strength strength) - { - EditConstraint e = new EditConstraint(this, strength); - if (e.isSatisfied()) - { - this.value = value; - deltablue.planner.propagateFrom(this); - } - e.destroyConstraint(); - } -} - - - - -//------------------------ constraints ------------------------------------ - -// I am an abstract class representing a system-maintainable -// relationship (or "constraint") between a set of variables. I supply -// a strength instance variable; concrete subclasses provide a means -// of storing the constrained variables and other information required -// to represent a constraint. - -internal abstract class Constraint -{ - public Strength strength; // the strength of this constraint - - public Constraint() { } // this has to be here because of - // Java's constructor idiocy. - - public Constraint(Strength strength) - { - this.strength = strength; - } - - // Answer true if this constraint is satisfied in the current solution. - public abstract Boolean isSatisfied(); - - // Record the fact that I am unsatisfied. - public abstract void markUnsatisfied(); - - // Normal constraints are not input constraints. An input constraint - // is one that depends on external state, such as the mouse, the - // keyboard, a clock, or some arbitrary piece of imperative code. - public virtual Boolean isInput() { return false; } - - // Activate this constraint and attempt to satisfy it. - public void addConstraint() - { - addToGraph(); - deltablue.planner.incrementalAdd(this); - } - - // Deactivate this constraint, remove it from the constraint graph, - // possibly causing other constraints to be satisfied, and destroy - // it. - public void destroyConstraint() - { - if (isSatisfied()) deltablue.planner.incrementalRemove(this); - else - removeFromGraph(); - } - - // Add myself to the constraint graph. - public abstract void addToGraph(); - - // Remove myself from the constraint graph. - public abstract void removeFromGraph(); - - // Decide if I can be satisfied and record that decision. The output - // of the choosen method must not have the given mark and must have - // a walkabout strength less than that of this constraint. - public abstract void chooseMethod(int mark); - - // Set the mark of all input from the given mark. - public abstract void markInputs(int mark); - - // Assume that I am satisfied. Answer true if all my current inputs - // are known. A variable is known if either a) it is 'stay' (i.e. it - // is a constant at plan execution time), b) it has the given mark - // (indicating that it has been computed by a constraint appearing - // earlier in the plan), or c) it is not determined by any - // constraint. - public abstract Boolean inputsKnown(int mark); - - // Answer my current output variable. Raise an error if I am not - // currently satisfied. - public abstract Variable output(); - - // Attempt to find a way to enforce this constraint. If successful, - // record the solution, perhaps modifying the current dataflow - // graph. Answer the constraint that this constraint overrides, if - // there is one, or nil, if there isn't. - // Assume: I am not already satisfied. - // - public Constraint satisfy(int mark) - { - chooseMethod(mark); - if (!isSatisfied()) - { - if (strength == Strength.required) - { - deltablue.error("Could not satisfy a required constraint"); - } - return null; - } - // constraint can be satisfied - // mark inputs to allow cycle detection in addPropagate - markInputs(mark); - Variable outvar = output(); - Constraint overridden = outvar.determinedBy; - if (overridden != null) overridden.markUnsatisfied(); - outvar.determinedBy = this; - if (!deltablue.planner.addPropagate(this, mark)) - { - Console.WriteLine("Cycle encountered"); - return null; - } - outvar.mark = mark; - return overridden; - } - - // Enforce this constraint. Assume that it is satisfied. - public abstract void execute(); - - // Calculate the walkabout strength, the stay flag, and, if it is - // 'stay', the value for the current output of this - // constraint. Assume this constraint is satisfied. - public abstract void recalculate(); - - public abstract void printInputs(); - - public void printOutput() { output().print(); } - - public void print() - { - if (!isSatisfied()) - { - Console.Write("Unsatisfied"); - } - else - { - Console.Write("Satisfied("); - printInputs(); - Console.Write(" -> "); - printOutput(); - Console.Write(")"); - } - Console.Write("\n"); - } -} - - - -//-------------unary constraints------------------------------------------- - -// I am an abstract superclass for constraints having a single -// possible output variable. -// -internal abstract class UnaryConstraint : Constraint -{ - public Variable myOutput; // possible output variable - public Boolean satisfied; // true if I am currently satisfied - - public UnaryConstraint(Variable v, Strength strength) : base(strength) - - { - myOutput = v; - satisfied = false; - addConstraint(); - } - - // Answer true if this constraint is satisfied in the current solution. - public override Boolean isSatisfied() { return satisfied; } - - // Record the fact that I am unsatisfied. - public override void markUnsatisfied() { satisfied = false; } - - // Answer my current output variable. - public override Variable output() { return myOutput; } - - // Add myself to the constraint graph. - public override void addToGraph() - { - myOutput.addConstraint(this); - satisfied = false; - } - - // Remove myself from the constraint graph. - public override void removeFromGraph() - { - if (myOutput != null) myOutput.removeConstraint(this); - satisfied = false; - } - - // Decide if I can be satisfied and record that decision. - public override void chooseMethod(int mark) - { - satisfied = myOutput.mark != mark - && Strength.stronger(strength, myOutput.walkStrength); - } - - public override void markInputs(int mark) { } // I have no inputs - - public override Boolean inputsKnown(int mark) { return true; } - - // Calculate the walkabout strength, the stay flag, and, if it is - // 'stay', the value for the current output of this - // constraint. Assume this constraint is satisfied." - public override void recalculate() - { - myOutput.walkStrength = strength; - myOutput.stay = !isInput(); - if (myOutput.stay) execute(); // stay optimization - } - - public override void printInputs() { } // I have no inputs -} - - -// I am a unary input constraint used to mark a variable that the -// client wishes to change. -// -internal class EditConstraint : UnaryConstraint -{ - public EditConstraint(Variable v, Strength str) : base(v, str) { } - - // I indicate that a variable is to be changed by imperative code. - public override Boolean isInput() { return true; } - - public override void execute() { } // Edit constraints do nothing. -} - -// I mark variables that should, with some level of preference, stay -// the same. I have one method with zero inputs and one output, which -// does nothing. Planners may exploit the fact that, if I am -// satisfied, my output will not change during plan execution. This is -// called "stay optimization". -// -internal class StayConstraint : UnaryConstraint -{ - // Install a stay constraint with the given strength on the given variable. - public StayConstraint(Variable v, Strength str) : base(v, str) { } - - public override void execute() { } // Stay constraints do nothing. -} - - - - -//-------------binary constraints------------------------------------------- - - -// I am an abstract superclass for constraints having two possible -// output variables. -// -internal abstract class BinaryConstraint : Constraint -{ - public Variable v1, v2; // possible output variables - public sbyte direction; // one of the following... - public static sbyte backward = -1; // v1 is output - public static sbyte nodirection = 0; // not satisfied - public static sbyte forward = 1; // v2 is output - - public BinaryConstraint() { } // this has to be here because of - // Java's constructor idiocy. - - public BinaryConstraint(Variable var1, Variable var2, Strength strength) - : base(strength) - { - v1 = var1; - v2 = var2; - direction = nodirection; - addConstraint(); - } - - // Answer true if this constraint is satisfied in the current solution. - public override Boolean isSatisfied() { return direction != nodirection; } - - // Add myself to the constraint graph. - public override void addToGraph() - { - v1.addConstraint(this); - v2.addConstraint(this); - direction = nodirection; - } - - // Remove myself from the constraint graph. - public override void removeFromGraph() - { - if (v1 != null) v1.removeConstraint(this); - if (v2 != null) v2.removeConstraint(this); - direction = nodirection; - } - - // Decide if I can be satisfied and which way I should flow based on - // the relative strength of the variables I relate, and record that - // decision. - // - public override void chooseMethod(int mark) - { - if (v1.mark == mark) - direction = - v2.mark != mark && Strength.stronger(strength, v2.walkStrength) - ? forward : nodirection; - - if (v2.mark == mark) - direction = - v1.mark != mark && Strength.stronger(strength, v1.walkStrength) - ? backward : nodirection; - - // If we get here, neither variable is marked, so we have a choice. - if (Strength.weaker(v1.walkStrength, v2.walkStrength)) - direction = - Strength.stronger(strength, v1.walkStrength) ? backward : nodirection; - else - direction = - Strength.stronger(strength, v2.walkStrength) ? forward : nodirection; - } - - // Record the fact that I am unsatisfied. - public override void markUnsatisfied() { direction = nodirection; } - - // Mark the input variable with the given mark. - public override void markInputs(int mark) - { - input().mark = mark; - } - - public override Boolean inputsKnown(int mark) - { - Variable i = input(); - return i.mark == mark || i.stay || i.determinedBy == null; - } - - // Answer my current output variable. - public override Variable output() { return direction == forward ? v2 : v1; } - - // Answer my current input variable - public Variable input() { return direction == forward ? v1 : v2; } - - // Calculate the walkabout strength, the stay flag, and, if it is - // 'stay', the value for the current output of this - // constraint. Assume this constraint is satisfied. - // - public override void recalculate() - { - Variable invar = input(), outvar = output(); - outvar.walkStrength = Strength.weakestOf(strength, invar.walkStrength); - outvar.stay = invar.stay; - if (outvar.stay) execute(); - } - - public override void printInputs() - { - input().print(); - } -} - - -// I constrain two variables to have the same value: "v1 = v2". -// -internal class EqualityConstraint : BinaryConstraint -{ - // Install a constraint with the given strength equating the given variables. - public EqualityConstraint(Variable var1, Variable var2, Strength strength) - : base(var1, var2, strength) - - { - } - - // Enforce this constraint. Assume that it is satisfied. - public override void execute() - { - output().value = input().value; - } -} - - -// I relate two variables by the linear scaling relationship: "v2 = -// (v1 * scale) + offset". Either v1 or v2 may be changed to maintain -// this relationship but the scale factor and offset are considered -// read-only. -// -internal class ScaleConstraint : BinaryConstraint -{ - public Variable scale; // scale factor input variable - public Variable offset; // offset input variable - - // Install a scale constraint with the given strength on the given variables. - public ScaleConstraint(Variable src, Variable scale, Variable offset, - Variable dest, Strength strength) - { - // Curse this wretched language for insisting that constructor invocation - // must be the first thing in a method... - // ..because of that, we must copy the code from the inherited - // constructors. - this.strength = strength; - v1 = src; - v2 = dest; - direction = nodirection; - this.scale = scale; - this.offset = offset; - addConstraint(); - } - - // Add myself to the constraint graph. - public override void addToGraph() - { - base.addToGraph(); - scale.addConstraint(this); - offset.addConstraint(this); - } - - // Remove myself from the constraint graph. - public override void removeFromGraph() - { - base.removeFromGraph(); - if (scale != null) scale.removeConstraint(this); - if (offset != null) offset.removeConstraint(this); - } - - // Mark the inputs from the given mark. - public override void markInputs(int mark) - { - base.markInputs(mark); - scale.mark = offset.mark = mark; - } - - // Enforce this constraint. Assume that it is satisfied. - public override void execute() - { - if (direction == forward) - v2.value = v1.value * scale.value + offset.value; - else - v1.value = (v2.value - offset.value) / scale.value; - } - - // Calculate the walkabout strength, the stay flag, and, if it is - // 'stay', the value for the current output of this - // constraint. Assume this constraint is satisfied. - public override void recalculate() - { - Variable invar = input(), outvar = output(); - outvar.walkStrength = Strength.weakestOf(strength, invar.walkStrength); - outvar.stay = invar.stay && scale.stay && offset.stay; - if (outvar.stay) execute(); // stay optimization - } -} - - -// ------------------------------------------------------------ - - -// A Plan is an ordered list of constraints to be executed in sequence -// to resatisfy all currently satisfiable constraints in the face of -// one or more changing inputs. - -internal class Plan -{ - private ArrayList _v; - - public Plan() { _v = new ArrayList(); } - - public void addConstraint(Constraint c) { _v.Add(c); } - - public int size() { return _v.Count; } - - public Constraint constraintAt(int index) - { - return (Constraint)_v[index]; - } - - public void execute() - { - for (int i = 0; i < size(); ++i) - { - Constraint c = (Constraint)constraintAt(i); - c.execute(); - } - } -} - - -// ------------------------------------------------------------ - -// The deltablue planner - -internal class Planner -{ - private int _currentMark = 0; - - // Select a previously unused mark value. - private int newMark() { return ++_currentMark; } - - public Planner() - { - _currentMark = 0; - } - - // Attempt to satisfy the given constraint and, if successful, - // incrementally update the dataflow graph. Details: If satifying - // the constraint is successful, it may override a weaker constraint - // on its output. The algorithm attempts to resatisfy that - // constraint using some other method. This process is repeated - // until either a) it reaches a variable that was not previously - // determined by any constraint or b) it reaches a constraint that - // is too weak to be satisfied using any of its methods. The - // variables of constraints that have been processed are marked with - // a unique mark value so that we know where we've been. This allows - // the algorithm to avoid getting into an infinite loop even if the - // constraint graph has an inadvertent cycle. - // - public void incrementalAdd(Constraint c) - { - int mark = newMark(); - Constraint overridden = c.satisfy(mark); - while (overridden != null) - { - overridden = overridden.satisfy(mark); - } - } - - - // Entry point for retracting a constraint. Remove the given - // constraint and incrementally update the dataflow graph. - // Details: Retracting the given constraint may allow some currently - // unsatisfiable downstream constraint to be satisfied. We therefore collect - // a list of unsatisfied downstream constraints and attempt to - // satisfy each one in turn. This list is traversed by constraint - // strength, strongest first, as a heuristic for avoiding - // unnecessarily adding and then overriding weak constraints. - // Assume: c is satisfied. - // - public void incrementalRemove(Constraint c) - { - Variable outvar = c.output(); - c.markUnsatisfied(); - c.removeFromGraph(); - ArrayList unsatisfied = removePropagateFrom(outvar); - Strength strength = Strength.required; - do - { - for (int i = 0; i < unsatisfied.Count; ++i) - { - Constraint u = (Constraint)unsatisfied[i]; - if (u.strength == strength) - incrementalAdd(u); - } - strength = strength.nextWeaker(); - } while (strength != Strength.weakest); - } - - // Recompute the walkabout strengths and stay flags of all variables - // downstream of the given constraint and recompute the actual - // values of all variables whose stay flag is true. If a cycle is - // detected, remove the given constraint and answer - // false. Otherwise, answer true. - // Details: Cycles are detected when a marked variable is - // encountered downstream of the given constraint. The sender is - // assumed to have marked the inputs of the given constraint with - // the given mark. Thus, encountering a marked node downstream of - // the output constraint means that there is a path from the - // constraint's output to one of its inputs. - // - public Boolean addPropagate(Constraint c, int mark) - { - ArrayList todo = new ArrayList(); - todo.Add(c); - while (!(todo.Count == 0)) - { -#if USE_STACK - Constraint d = (Constraint)todo[todo.Count - 1]; - todo.RemoveAt(todo.Count - 1); -#else - Constraint d= (Constraint)todo[0]; - todo.RemoveAt(0); -#endif - if (d.output().mark == mark) - { - incrementalRemove(c); - return false; - } - d.recalculate(); - addConstraintsConsumingTo(d.output(), todo); - } - return true; - } - - - // The given variable has changed. Propagate new values downstream. - public void propagateFrom(Variable v) - { - ArrayList todo = new ArrayList(); - addConstraintsConsumingTo(v, todo); - while (!(todo.Count == 0)) - { -#if USE_STACK - Constraint c = (Constraint)todo[todo.Count - 1]; - todo.RemoveAt(0); -#else - Constraint c= (Constraint)todo[todo.Count-1]; - todo.RemoveAt(0); -#endif - c.execute(); - addConstraintsConsumingTo(c.output(), todo); - } - } - - // Update the walkabout strengths and stay flags of all variables - // downstream of the given constraint. Answer a collection of - // unsatisfied constraints sorted in order of decreasing strength. - // - public ArrayList removePropagateFrom(Variable outvar) - { - outvar.determinedBy = null; - outvar.walkStrength = Strength.weakest; - outvar.stay = true; - ArrayList unsatisfied = new ArrayList(); - ArrayList todo = new ArrayList(); - todo.Add(outvar); - while (!(todo.Count == 0)) - { -#if USE_STACK - Variable v = (Variable)todo[todo.Count - 1]; - todo.RemoveAt(todo.Count - 1); -#else - Variable v= (Variable)todo[0]; - todo.RemoveAt(0); -#endif - for (int i = 0; i < v.constraints.Count; ++i) - { - Constraint c = (Constraint)v.constraints[i]; - if (!c.isSatisfied()) - unsatisfied.Add(c); - } - Constraint determiningC = v.determinedBy; - for (int i = 0; i < v.constraints.Count; ++i) - { - Constraint nextC = (Constraint)v.constraints[i]; - if (nextC != determiningC && nextC.isSatisfied()) - { - nextC.recalculate(); - todo.Add(nextC.output()); - } - } - } - return unsatisfied; - } - - // Extract a plan for resatisfaction starting from the outputs of - // the given constraints, usually a set of input constraints. - // - public Plan extractPlanFromConstraints(ArrayList constraints) - { - ArrayList sources = new ArrayList(); - for (int i = 0; i < constraints.Count; ++i) - { - Constraint c = (Constraint)constraints[i]; - if (c.isInput() && c.isSatisfied()) - sources.Add(c); - } - return makePlan(sources); - } - - // Extract a plan for resatisfaction starting from the given source - // constraints, usually a set of input constraints. This method - // assumes that stay optimization is desired; the plan will contain - // only constraints whose output variables are not stay. Constraints - // that do no computation, such as stay and edit constraints, are - // not included in the plan. - // Details: The outputs of a constraint are marked when it is added - // to the plan under construction. A constraint may be appended to - // the plan when all its input variables are known. A variable is - // known if either a) the variable is marked (indicating that has - // been computed by a constraint appearing earlier in the plan), b) - // the variable is 'stay' (i.e. it is a constant at plan execution - // time), or c) the variable is not determined by any - // constraint. The last provision is for past states of history - // variables, which are not stay but which are also not computed by - // any constraint. - // Assume: sources are all satisfied. - // - public Plan makePlan(ArrayList sources) - { - int mark = newMark(); - Plan plan = new Plan(); - ArrayList todo = sources; - while (!(todo.Count == 0)) - { -#if USE_STACK - Constraint c = (Constraint)todo[todo.Count - 1]; - todo.RemoveAt(todo.Count - 1); -#else - Constraint c= (Constraint)todo[todo.Count-1]; - todo.RemoveAt(0); -#endif - if (c.output().mark != mark && c.inputsKnown(mark)) - { - // not in plan already and eligible for inclusion - plan.addConstraint(c); - c.output().mark = mark; - addConstraintsConsumingTo(c.output(), todo); - } - } - return plan; - } - - public void addConstraintsConsumingTo(Variable v, ArrayList coll) - { - Constraint determiningC = v.determinedBy; - ArrayList cc = v.constraints; - for (int i = 0; i < cc.Count; ++i) - { - Constraint c = (Constraint)cc[i]; - if (c != determiningC && c.isSatisfied()) - coll.Add(c); - } - } -} - -//------------------------------------------------------------ - -public class deltablue -{ - internal static Planner planner; - internal static int chains, projections; - - public static int Main(String[] args) - { - deltablue d = new deltablue(); - bool result = d.inst_main(args); - return (result ? 100 : -1); - } - - [Benchmark] - public static void Bench() - { - deltablue d = new deltablue(); - int iterations = 200; - foreach (var iteration in Benchmark.Iterations) - { - using (iteration.StartMeasurement()) - { - d.inst_inner(iterations, false); - } - } - } - - public bool inst_main(String[] args) - { - int iterations = 200; // read iterations from arguments, walter 7/97 - if (args.Length > 0) - { - bool parsed = Int32.TryParse(args[0], out iterations); - if (!parsed) - { - Console.WriteLine("Error: expected iteration count, got '{0}'", args[0]); - return false; - } - } - - inst_inner(iterations, true); - - return true; - } - - public void inst_inner(int iterations, bool verbose) - { - chains = 0; // NS 11/11 - projections = 0; // NS 11/11 - if (verbose) - { - Console.WriteLine("deltablue parameters: " + iterations + " iterations"); - } - - DateTime start = DateTime.Now; - for (int i = 0; i < iterations; i++) - { - chainTest(1000); - projectionTest(1000); - } - DateTime end = DateTime.Now; - TimeSpan dur = end - start; - if (verbose) - { - Console.WriteLine("chains : " + chains); //NS - Console.WriteLine("projections : " + projections); //NS - Console.WriteLine("Doing {0} iters of Deltablue takes {1} ms; {2} us/iter.", - iterations, dur.TotalMilliseconds, (1000.0 * dur.TotalMilliseconds) / iterations); - } - } - - // This is the standard DeltaBlue benchmark. A long chain of - // equality constraints is constructed with a stay constraint on - // one end. An edit constraint is then added to the opposite end - // and the time is measured for adding and removing this - // constraint, and extracting and executing a constraint - // satisfaction plan. There are two cases. In case 1, the added - // constraint is stronger than the stay constraint and values must - // propagate down the entire length of the chain. In case 2, the - // added constraint is weaker than the stay constraint so it cannot - // be accomodated. The cost in this case is, of course, very - // low. Typical situations lie somewhere between these two - // extremes. - // - private void chainTest(int n) - { - planner = new Planner(); - - Variable prev = null, first = null, last = null; - - // Build chain of n equality constraints - for (int i = 0; i <= n; i++) - { - String name = "v" + i; - Variable v = new Variable(name); - if (prev != null) - new EqualityConstraint(prev, v, Strength.required); - if (i == 0) first = v; - if (i == n) last = v; - prev = v; - } - - new StayConstraint(last, Strength.strongDefault); - Constraint editC = new EditConstraint(first, Strength.preferred); - ArrayList editV = new ArrayList(); - editV.Add(editC); - Plan plan = planner.extractPlanFromConstraints(editV); - for (int i = 0; i < 100; i++) - { - first.value = i; - plan.execute(); - if (last.value != i) - error("Chain test failed!"); - } - editC.destroyConstraint(); - deltablue.chains++; - } - - - // This test constructs a two sets of variables related to each - // other by a simple linear transformation (scale and offset). The - // time is measured to change a variable on either side of the - // mapping and to change the scale and offset factors. - // - private void projectionTest(int n) - { - planner = new Planner(); - - Variable scale = new Variable("scale", 10); - Variable offset = new Variable("offset", 1000); - Variable src = null, dst = null; - - ArrayList dests = new ArrayList(); - - for (int i = 0; i < n; ++i) - { - src = new Variable("src" + i, i); - dst = new Variable("dst" + i, i); - dests.Add(dst); - new StayConstraint(src, Strength.normal); - new ScaleConstraint(src, scale, offset, dst, Strength.required); - } - - change(src, 17); - if (dst.value != 1170) error("Projection test 1 failed!"); - - change(dst, 1050); - if (src.value != 5) error("Projection test 2 failed!"); - - change(scale, 5); - for (int i = 0; i < n - 1; ++i) - { - if (((Variable)dests[i]).value != i * 5 + 1000) - error("Projection test 3 failed!"); - } - - change(offset, 2000); - for (int i = 0; i < n - 1; ++i) - { - if (((Variable)dests[i]).value != i * 5 + 2000) - error("Projection test 4 failed!"); - } - deltablue.projections++; - } - - private void change(Variable var, int newValue) - { - EditConstraint editC = new EditConstraint(var, Strength.preferred); - ArrayList editV = new ArrayList(); - editV.Add(editC); - Plan plan = planner.extractPlanFromConstraints(editV); - for (int i = 0; i < 10; i++) - { - var.value = newValue; - plan.execute(); - } - editC.destroyConstraint(); - } - - public static void error(String s) - { - throw new Exception(s); - } -} -} diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj index b4572c61a5..f81039d693 100644 --- a/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj +++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/Richards.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> <PropertyGroup> @@ -7,18 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> <OutputType>Exe</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> - <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> - <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> <NuGetTargetMoniker>.NETStandard,Version=v1.4</NuGetTargetMoniker> </PropertyGroup> <!-- Default configurations to help VS understand the configurations --> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "></PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " /> + <PropertyGroup> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> </PropertyGroup> @@ -38,6 +34,5 @@ <ProjectLockJson>$(JitPackagesConfigFileDirectory)benchmark\project.lock.json</ProjectLockJson> </PropertyGroup> <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> - <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> - </PropertyGroup> -</Project> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "></PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES b/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES new file mode 100644 index 0000000000..7eff233b54 --- /dev/null +++ b/tests/src/JIT/Performance/CodeQuality/V8/Richards/THIRD-PARTY-NOTICES @@ -0,0 +1,21 @@ +.NET Core uses third-party libraries or other resources that may be +distributed under licenses different than the .NET Core software. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention. Post an issue or email us: + + dotnet@microsoft.com + +The attached notices are provided for information only. + +License notice for A Benchmark Test for Systems Implementation Languages +------------------------------------------------------------------------ + +http://www.cl.cam.ac.uk/~mr10/Bench/README + +Please feel free to re-implement this benchmark in any language you +choose. I would be happy to incorporate such tranlations into this +distribution together with their timing/size results. + +Martin Richards +23 February 2007 |