Inliner: simple performance tests
authorAndy Ayers <andya@microsoft.com>
Fri, 10 Jun 2016 21:58:11 +0000 (14:58 -0700)
committerAndy Ayers <andya@microsoft.com>
Wed, 15 Jun 2016 22:24:17 +0000 (15:24 -0700)
commit1b34b726c3644ca494be54f90bbb190905e52e4e
tree978c661370f7a43a4bae4187cf405b8fa4e9ae2a
parent93a9d70bfa87193d29b69b3242f5cc588f417f0d
Inliner: simple performance tests

Tests that demonstrate that constant arguments passed to callees can
lead to inlining performance wins. All numeric types are tested, as
well as strings.

Tests are generally written as positive/negative pairs with calls to
the same inlinee. This exposes the call site sensitivity. Performance
of the positive test should be better than the negative test.

The overall benchmarking approach used here is something that we might
consider adopting for other small-scale codegen performance tests.
24 files changed:
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsByte.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsChar.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsDouble.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsFloat.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsInt.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsLong.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsSByte.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsShort.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsString.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUInt.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsULong.csproj [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.cs [new file with mode: 0644]
tests/src/JIT/Performance/CodeQuality/Inlining/ConstantArgsUShort.csproj [new file with mode: 0644]