dotnet / perf-autofiling-issues

A landing place for auto-filed performance issues before they receive triage
MIT License
9 stars 4 forks source link

[Perf] Linux/x64: 4016 Improvements on 5/11/2023 9:33:40 AM #17882

Closed performanceautofiler[bot] closed 1 year ago

performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.Tests.Perf_Encoding

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetChars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetChars(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 2.10 μs 62.50 ns 0.03 0.08 True
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 1.63 μs 52.26 ns 0.03 0.02 True
[GetEncoder - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetEncoder(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 14.00 ns 10.24 ns 0.73 0.21 False
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 9.59 ns 4.42 ns 0.46 0.22 True
[GetEncoder - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetEncoder(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 13.67 ns 9.45 ns 0.69 0.22 False
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 70.53 ns 8.18 ns 0.12 0.03 True
[GetEncoder - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetEncoder(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 13.60 ns 9.40 ns 0.69 0.27 False
[GetEncoder - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetEncoder(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 13.37 ns 10.34 ns 0.77 0.21 False
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 9.49 ns 4.73 ns 0.50 0.27 True
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 57.63 ns 18.17 ns 0.32 0.04 True
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 98.43 ns 18.82 ns 0.19 0.10 True
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 71.05 ns 17.71 ns 0.25 0.02 True
[GetChars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetChars(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 134.68 ns 24.61 ns 0.18 0.04 True
[GetChars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetChars(size%3a%2016%2c%20encName%3a%20%22ascii%22).html>) 98.39 ns 19.30 ns 0.20 0.09 True
[GetChars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetChars(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 3.05 μs 77.95 ns 0.03 0.10 True
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetString(size%3a%20512%2c%20encName%3a%20%22ascii%22).html>) 2.10 μs 62.88 ns 0.03 0.07 True
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetString(size%3a%2016%2c%20encName%3a%20%22utf-8%22).html>) 112.18 ns 18.34 ns 0.16 0.07 True
[GetByteCount - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetByteCount(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 794.33 ns 21.48 ns 0.03 0.00 True
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetString(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 2.81 μs 79.26 ns 0.03 0.08 True
[GetBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Tests.Perf_Encoding.GetBytes(size%3a%20512%2c%20encName%3a%20%22utf-8%22).html>) 2.47 μs 73.98 ns 0.03 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Tests.Perf_Encoding* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Tests.Perf_Encoding*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Tests.Perf_Encoding* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Tests.Perf_Encoding.GetChars(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 62.49538011682948 < 2.0027953138313874. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 581.9986655623126 (T) = (0 -62.57023825377087) / Math.Sqrt((3860.7842571932624 / (299)) + (1.1497738141899814 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9710337205754005 = (2160.106147447887 - 62.57023825377087) / 2160.106147447887 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.25884448036797 < 1.5501030193558427. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2122.0954912208695 (T) = (0 -52.46899469487235) / Math.Sqrt((150.3556181532081 / (299)) + (0.7832054068626301 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9678794379668576 = (1633.5017625387213 - 52.46899469487235) / 1633.5017625387213 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetEncoder(size: 512, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.241069819753754 < 12.91674934255023. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 36.211423296285695 (T) = (0 -9.901878416500086) / Math.Sqrt((0.3872013124508349 / (299)) + (0.2195372894556858 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3158088746238304 = (14.472386514887948 - 9.901878416500086) / 14.472386514887948 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.417704711216055 < 9.097616520573814. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 42.079009350063714 (T) = (0 -4.62982987415228) / Math.Sqrt((0.20998399989350439 / (299)) + (0.16388333729941554 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4949633011022798 = (9.167313750183354 - 4.62982987415228) / 9.167313750183354 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetEncoder(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.450505151282378 < 13.27800748015051. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 100.39269925729151 (T) = (0 -9.462275555907228) / Math.Sqrt((0.4940256106375545 / (299)) + (0.013741436882153313 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3496749803815104 = (14.550071534166456 - 9.462275555907228) / 14.550071534166456 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.181676226275446 < 67.38589298812384. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 851.144084763169 (T) = (0 -8.15957153759651) / Math.Sqrt((0.8620433589973627 / (299)) + (0.039088675691725805 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8854297714699615 = (71.21895140025134 - 8.15957153759651) / 71.21895140025134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetEncoder(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.400999825203765 < 13.315299169976473. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 67.48820134162762 (T) = (0 -9.548252559291042) / Math.Sqrt((0.3945214120541531 / (299)) + (0.05857838676098654 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3381420767811386 = (14.426438400637913 - 9.548252559291042) / 14.426438400637913 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetEncoder(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.337084812865557 < 12.823928056661675. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 33.089332325498425 (T) = (0 -9.9188447581636) / Math.Sqrt((1.6891754804792884 / (299)) + (0.20579926488040073 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3170728254844291 = (14.524015339116437 - 9.9188447581636) / 14.524015339116437 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.729788322427907 < 9.037704258558138. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 110.24648189736133 (T) = (0 -4.448509369455758) / Math.Sqrt((0.2756927961655567 / (299)) + (0.014686601148633207 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5193660617124858 = (9.255504064706036 - 4.448509369455758) / 9.255504064706036 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.172918407375715 < 54.40410943249593. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 143.38763428382333 (T) = (0 -18.30528549060056) / Math.Sqrt((1.2096116240414843 / (299)) + (1.0440743520213014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6800821910352515 = (57.21871361221284 - 18.30528549060056) / 57.21871361221284 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.821230514221035 < 93.46268193210949. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 381.0774892380696 (T) = (0 -18.480061473812427) / Math.Sqrt((10.642613425850826 / (299)) + (0.18266654016501166 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8184157013725561 = (101.77125232467338 - 18.480061473812427) / 101.77125232467338 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.70818176666729 < 67.26083312180624. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 836.6929904941035 (T) = (0 -17.558579687408862) / Math.Sqrt((0.8116167165097428 / (299)) + (0.021033072534878537 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7535350531874055 = (71.24169142299962 - 17.558579687408862) / 71.24169142299962 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.614913921971738 < 128.039655486052. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 524.607403403 (T) = (0 -24.76463381630729) / Math.Sqrt((12.518058351443395 / (299)) + (0.0622105682129846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8196276012076772 = (137.2972471515489 - 24.76463381630729) / 137.2972471515489 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetChars(size: 16, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.30367355338586 < 91.98803576910878. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 373.2194540624339 (T) = (0 -19.239103042140485) / Math.Sqrt((13.353054719539294 / (299)) + (0.04623222543044886 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.809110604983986 = (100.7866520847137 - 19.239103042140485) / 100.7866520847137 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetChars(size: 512, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 77.95073749199929 < 2.638993814372292. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 514.4119299615626 (T) = (0 -78.74011402693874) / Math.Sqrt((9056.50895188549 / (299)) + (0.9480560569847478 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9729675198961394 = (2912.7965219770526 - 78.74011402693874) / 2912.7965219770526 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetString(size: 512, encName: "ascii") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 62.88295713906503 < 2.001332683392093. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 559.961989982761 (T) = (0 -62.386764455270175) / Math.Sqrt((4192.8759474601 / (299)) + (0.47762828398356716 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9711395803716113 = (2161.6721190672847 - 62.386764455270175) / 2161.6721190672847 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetString(size: 16, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.336202565979306 < 104.54004578132582. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 385.61346233323127 (T) = (0 -18.55264558366238) / Math.Sqrt((17.24920102450386 / (299)) + (0.07515965392422409 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8388273004047103 = (115.1103482801289 - 18.55264558366238) / 115.1103482801289 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetByteCount(size: 512, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.48438074613988 < 752.5092848862982. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 6468.100329130909 (T) = (0 -21.78490520027042) / Math.Sqrt((1.95012376983052 / (299)) + (0.11447940931762154 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.972469532246601 = (791.3016733099569 - 21.78490520027042) / 791.3016733099569 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetString(size: 512, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.25900587823686 < 2.6587093528145016. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 547.9076824104393 (T) = (0 -80.18442923421593) / Math.Sqrt((7911.228464144648 / (299)) + (0.9285130791014277 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9723675547228631 = (2901.8216965604656 - 80.18442923421593) / 2901.8216965604656 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Tests.Perf_Encoding.GetBytes(size: 512, encName: "utf-8") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 73.97718152275985 < 2.3386293499920434. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1844.0158159593448 (T) = (0 -74.22665555884161) / Math.Sqrt((469.22434021010866 / (299)) + (1.1555817504821677 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9696319860100429 = (2444.238058616173 - 74.22665555884161) / 2444.238058616173 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Tests.Perf_DateTime

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ToString(format%3a%20%22o%22).html>) 148.50 ns 33.02 ns 0.22 0.02 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ToString(format%3a%20%22r%22).html>) 113.94 ns 31.02 ns 0.27 0.02 False
[DayOfYear - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.DayOfYear.html>) 8.83 ns 0.74 ns 0.08 0.03 True
[Month - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.Month.html>) 10.07 ns 1.93 ns 0.19 0.06 True
[Day - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.Day.html>) 10.48 ns 1.85 ns 0.18 0.05 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ToString(format%3a%20%22G%22).html>) 402.03 ns 135.24 ns 0.34 0.02 True
[op_Subtraction - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.op_Subtraction.html>) 4.77 ns 0.00 ns 0.00 0.50 True
[ObjectEquals - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ObjectEquals.html>) 4.44 ns 0.96 ns 0.22 0.20 True
[GetUtcNow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.GetUtcNow.html>) 30.92 ns 16.28 ns 0.53 0.14 True
[ParseR - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ParseR.html>) 106.25 ns 28.22 ns 0.27 0.01 True
[Year - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.Year.html>) 9.82 ns 0.75 ns 0.08 0.05 True
[ParseO - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ParseO.html>) 112.03 ns 30.64 ns 0.27 0.03 True
[GetNow - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.GetNow.html>) 265.15 ns 90.94 ns 0.34 0.11 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_DateTime.ToString(format%3a%20null).html>) 396.69 ns 134.17 ns 0.34 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_DateTime*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_DateTime* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_DateTime*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_DateTime* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_DateTime.ToString(format: "o") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.01768805907825 < 141.18083135778122. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 277.92412334434493 (T) = (0 -33.45759600428513) / Math.Sqrt((43.63790742006916 / (299)) + (0.6225079094465956 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7824393821868129 = (153.78516728158115 - 33.45759600428513) / 153.78516728158115 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ToString(format: "r") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.020830372983152 < 109.06963313193036. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 82.40925140278601 (T) = (0 -30.808985171209777) / Math.Sqrt((253.4242217989482 / (299)) + (0.11157203229917634 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7120929431627996 = (107.01017720670524 - 30.808985171209777) / 107.01017720670524 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.DayOfYear ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.7448588789216787 < 8.38914495579089. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 994.7296300891747 (T) = (0 -0.7447215356132768) / Math.Sqrt((0.020191254035610597 / (299)) + (8.339646542861254E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9168151727851296 = (8.952612640399257 - 0.7447215356132768) / 8.952612640399257 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.Month ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.929437633749692 < 9.561037928418491. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1017.1674655545099 (T) = (0 -1.9251160766534547) / Math.Sqrt((0.018131669062902853 / (299)) + (4.6734734951293655E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8083884428897654 = (10.046972665359272 - 1.9251160766534547) / 10.046972665359272 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.Day ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8485379400201958 < 9.958310629278268. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 131.56010868082842 (T) = (0 -1.9119194932283214) / Math.Sqrt((0.01931094631308079 / (299)) + (0.06266848748660271 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.817582381641478 = (10.481002385803828 - 1.9119194932283214) / 10.481002385803828 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ToString(format: "G") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 135.23645508341875 < 378.642352920843. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 150.0346527222312 (T) = (0 -135.68087505455136) / Math.Sqrt((1114.8626501352053 / (299)) + (0.3207582060474809 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6816666066954173 = (426.22256385377494 - 135.68087505455136) / 426.22256385377494 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.op_Subtraction ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 4.530472755195902. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 158.7643654166515 (T) = (0 -0.005363001526954105) / Math.Sqrt((0.26254508347976924 / (299)) + (6.176232054410798E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9988639981745978 = (4.720944462439482 - 0.005363001526954105) / 4.720944462439482 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ObjectEquals ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9598138265985159 < 4.214110278625466. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 201.1082700571317 (T) = (0 -0.9480219430517844) / Math.Sqrt((0.10345586240330984 / (299)) + (0.00018711884606777273 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8006566275945375 = (4.755723411378417 - 0.9480219430517844) / 4.755723411378417 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.GetUtcNow ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.2775162065786 < 29.425708652897193. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 226.79284875881325 (T) = (0 -16.106975856200155) / Math.Sqrt((0.6078187588139664 / (299)) + (0.03262970029052325 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4773701557749788 = (30.81908933096673 - 16.106975856200155) / 30.81908933096673 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ParseR ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.21564206272901 < 100.40495481906184. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 649.9077186969952 (T) = (0 -28.40849767594432) / Math.Sqrt((1.8756071447332703 / (299)) + (0.12490838890405555 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7343450359268126 = (106.93757511761697 - 28.40849767594432) / 106.93757511761697 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.Year ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.7457864786866409 < 9.322231213642514. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 862.1886553800709 (T) = (0 -0.7448741633173964) / Math.Sqrt((0.032114846360619266 / (299)) + (2.3102432596308636E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9231041624023003 = (9.686794325778681 - 0.7448741633173964) / 9.686794325778681 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ParseO ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.636131525151207 < 106.78585748027788. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 659.3899955400541 (T) = (0 -30.808436419154432) / Math.Sqrt((3.6200384918413335 / (299)) + (0.03956606674140471 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7221391189754393 = (110.8771997898877 - 30.808436419154432) / 110.8771997898877 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.GetNow ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 90.9427689634855 < 252.86313548883314. IsChangePoint: Marked as a change because one of 3/11/2023 9:11:51 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 80.8509330568247 (T) = (0 -90.41945943758809) / Math.Sqrt((1230.7223504798271 / (299)) + (0.641450622675619 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6458328908130907 = (255.3016841263761 - 90.41945943758809) / 255.3016841263761 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_DateTime.ToString(format: null) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 134.17369751050356 < 377.0763467150828. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 145.20643345729272 (T) = (0 -133.30302384858427) / Math.Sqrt((1195.5609743637297 / (299)) + (1.869961279460141 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6886564938821936 = (428.15418092627567 - 133.30302384858427) / 428.15418092627567 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.CopyTo<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).List(Size%3a%202048).html>) 2.27 μs 372.86 ns 0.16 0.05 False
[Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).Array(Size%3a%202048).html>) 2.34 μs 353.43 ns 0.15 0.07 False
[ImmutableArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).ImmutableArray(Size%3a%202048).html>) 2.35 μs 378.81 ns 0.16 0.06 False
[ReadOnlyMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).ReadOnlyMemory(Size%3a%202048).html>) 2.29 μs 410.51 ns 0.18 0.06 False
[ReadOnlySpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).ReadOnlySpan(Size%3a%202048).html>) 2.27 μs 375.30 ns 0.17 0.04 False
[Memory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).Memory(Size%3a%202048).html>) 2.30 μs 402.31 ns 0.18 0.06 False
[Span - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CopyTo(String).Span(Size%3a%202048).html>) 2.27 μs 379.06 ns 0.17 0.03 False

graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CopyTo<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CopyTo<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CopyTo<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CopyTo<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CopyTo<String>.List(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 372.85889056611853 < 2.1554874527136345. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 69.38834143635434 (T) = (0 -376.24709244088535) / Math.Sqrt((91261.33885269647 / (299)) + (8.9925204020499 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7633209103522095 = (1589.6930016115507 - 376.24709244088535) / 1589.6930016115507 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.Array(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 353.4305779842343 < 2.2262825533738937. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 74.98803586339766 (T) = (0 -348.5547307370608) / Math.Sqrt((89929.49521349164 / (299)) + (21.63535111334968 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7890309685012339 = (1652.1606430140878 - 348.5547307370608) / 1652.1606430140878 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.ImmutableArray(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 378.80851748643187 < 2.235649740546789. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 73.70988793839436 (T) = (0 -378.4873804887349) / Math.Sqrt((91476.15044657438 / (299)) + (19.50136025267303 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7734279398512122 = (1670.4945006907985 - 378.4873804887349) / 1670.4945006907985 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.ReadOnlyMemory(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 410.51053947462077 < 2.178232315483784. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.43076117599317 (T) = (0 -402.92338431774414) / Math.Sqrt((91274.09985185166 / (299)) + (96.62517387005552 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7499051711402949 = (1611.082428832508 - 402.92338431774414) / 1611.082428832508 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.ReadOnlySpan(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 375.3046982017959 < 2.1558959076227677. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.34697558880549 (T) = (0 -383.28532767904306) / Math.Sqrt((91367.70992912255 / (299)) + (72.33718651741033 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7585504356928647 = (1587.4343313847778 - 383.28532767904306) / 1587.4343313847778 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.Memory(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 402.30993733743213 < 2.1825538758653216. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.7354786548026 (T) = (0 -396.08856770012613) / Math.Sqrt((91666.17182062882 / (299)) + (121.88660134308056 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7548113793864292 = (1615.4443330564714 - 396.08856770012613) / 1615.4443330564714 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CopyTo<String>.Span(Size: 2048) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 379.06094439733937 < 2.1572002828955625. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.300113728259 (T) = (0 -381.78743561622224) / Math.Sqrt((91908.70986441364 / (299)) + (90.34341738733524 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7600225900612017 = (1590.9307284947768 - 381.78743561622224) / 1590.9307284947768 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Burgers

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Burgers.Test2.html>) 439.62 ms 177.30 ms 0.40 0.01 False
[Test0 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Burgers.Test0.html>) 1.60 secs 285.40 ms 0.18 0.03 True
[Test1 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Burgers.Test1.html>) 1.24 secs 166.75 ms 0.13 0.02 True

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Burgers*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Burgers* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Burgers*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Burgers* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Burgers.Test2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 177.296824625 < 417.724102805. IsChangePoint: Marked as a change because one of 4/3/2023 12:37:39 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 45.24164424807291 (T) = (0 -140066029.77444443) / Math.Sqrt((3742229358621828.5 / (299)) + (229296582226698.84 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6300572975621489 = (378615468.96704894 - 140066029.77444443) / 378615468.96704894 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Burgers.Test0 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 285.3971707333333 < 1.5204532863770237. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 223.59287948647497 (T) = (0 -256497149.90377292) / Math.Sqrt((584330180535029.8 / (299)) + (504900326168722.3 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8387670781234479 = (1590848487.5077786 - 256497149.90377292) / 1590848487.5077786 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Burgers.Test1 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 166.74662192857144 < 1.174953118120833. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 287.09695874971436 (T) = (0 -166965935.30664223) / Math.Sqrt((4162791648440963.5 / (299)) + (246398220476.59958 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8652233339494704 = (1238834140.9487345 - 166965935.30664223) / 1238834140.9487345 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Buffers.Text.Tests.Base64Tests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Base64Decode - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.Base64Decode(NumberOfBytes%3a%201000).html>) 761.51 ns 53.22 ns 0.07 0.02 True
[Base64Encode - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.Base64Encode(NumberOfBytes%3a%201000).html>) 1.31 μs 59.32 ns 0.05 0.01 True
[Base64EncodeDestinationTooSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.Base64EncodeDestinationTooSmall(NumberOfBytes%3a%201000).html>) 1.30 μs 64.21 ns 0.05 0.02 True
[ConvertToBase64CharArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.ConvertToBase64CharArray(NumberOfBytes%3a%201000).html>) 1.79 μs 93.08 ns 0.05 0.01 True
[ConvertTryFromBase64Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.ConvertTryFromBase64Chars(NumberOfBytes%3a%201000).html>) 1.69 μs 884.22 ns 0.52 0.03 True
[Base64DecodeDestinationTooSmall - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Text.Tests.Base64Tests.Base64DecodeDestinationTooSmall(NumberOfBytes%3a%201000).html>) 762.09 ns 57.15 ns 0.07 0.00 True

graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Buffers.Text.Tests.Base64Tests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Buffers.Text.Tests.Base64Tests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Buffers.Text.Tests.Base64Tests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Buffers.Text.Tests.Base64Tests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Buffers.Text.Tests.Base64Tests.Base64Decode(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.22463915720449 < 723.8969895620006. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 970.3864478355617 (T) = (0 -57.133766997422995) / Math.Sqrt((17.99946432928945 / (299)) + (7.077889421139396 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.925311054440802 = (764.9561333295175 - 57.133766997422995) / 764.9561333295175 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Base64Tests.Base64Encode(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 59.319108791863314 < 1.2403166366841696. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1565.5591551708937 (T) = (0 -59.774925150319675) / Math.Sqrt((94.83622214392716 / (299)) + (4.746969630507324 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9542300488456754 = (1305.9862124120216 - 59.774925150319675) / 1305.9862124120216 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Base64Tests.Base64EncodeDestinationTooSmall(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 64.20776776061288 < 1.237078245991378. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1663.8098614290864 (T) = (0 -64.35318903501674) / Math.Sqrt((101.16859054551396 / (299)) + (3.2454195736021405 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9506322997404927 = (1303.5484476031197 - 64.35318903501674) / 1303.5484476031197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Base64Tests.ConvertToBase64CharArray(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.0844969670683 < 1.7008124167779193. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2366.229347607157 (T) = (0 -95.26228913211462) / Math.Sqrt((5.416307146819725 / (299)) + (7.423654563525092 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9467835851058448 = (1790.0921984614445 - 95.26228913211462) / 1790.0921984614445 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Base64Tests.ConvertTryFromBase64Chars(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 884.2219374747066 < 1.6045682184886223. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 90.40017024730187 (T) = (0 -847.4045232428629) / Math.Sqrt((88.80709355193129 / (299)) + (1298.017651045211 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4985132146431491 = (1689.7843532205177 - 847.4045232428629) / 1689.7843532205177 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Text.Tests.Base64Tests.Base64DecodeDestinationTooSmall(NumberOfBytes: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 57.15004028814763 < 728.7132003317562. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2522.5904711451894 (T) = (0 -57.475729957880624) / Math.Sqrt((13.530813724858366 / (299)) + (0.49912535895957416 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9248073900053198 = (764.3800363087134 - 57.475729957880624) / 764.3800363087134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.IterateForEach<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableSortedSet(Size%3a%20512).html>) 16.33 μs 7.18 μs 0.44 0.05 True
[Span - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).Span(Size%3a%20512).html>) 459.37 ns 117.67 ns 0.26 0.00 True
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).FrozenDictionary(Size%3a%20512).html>) 4.15 μs 980.20 ns 0.24 0.00 True
[Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).Array(Size%3a%20512).html>) 457.47 ns 117.78 ns 0.26 0.44 False
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).List(Size%3a%20512).html>) 1.74 μs 229.48 ns 0.13 0.30 True
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ConcurrentQueue(Size%3a%20512).html>) 4.79 μs 3.22 μs 0.67 0.28 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).Dictionary(Size%3a%20512).html>) 3.04 μs 1.25 μs 0.41 0.20 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).Queue(Size%3a%20512).html>) 2.88 μs 1.35 μs 0.47 0.07 True
[ImmutableArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableArray(Size%3a%20512).html>) 1.06 μs 117.56 ns 0.11 0.17 True
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableList(Size%3a%20512).html>) 16.12 μs 5.33 μs 0.33 0.06 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).Stack(Size%3a%20512).html>) 2.40 μs 1.26 μs 0.53 0.48 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).SortedSet(Size%3a%20512).html>) 10.74 μs 7.03 μs 0.65 0.02 True
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableStack(Size%3a%20512).html>) 4.26 μs 1.45 μs 0.34 0.27 True
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ConcurrentStack(Size%3a%20512).html>) 2.46 μs 1.92 μs 0.78 0.54 False
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).SortedList(Size%3a%20512).html>) 4.82 μs 3.47 μs 0.72 0.00 True
[IEnumerable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).IEnumerable(Size%3a%20512).html>) 2.71 μs 1.81 μs 0.67 0.31 False
[ImmutableQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableQueue(Size%3a%20512).html>) 4.48 μs 3.06 μs 0.68 0.50 False
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ConcurrentBag(Size%3a%20512).html>) 3.88 μs 1.57 μs 0.41 0.12 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableHashSet(Size%3a%20512).html>) 40.92 μs 12.70 μs 0.31 0.02 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ConcurrentDictionary(Size%3a%20512).html>) 7.36 μs 4.70 μs 0.64 0.09 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).HashSet(Size%3a%20512).html>) 2.10 μs 1.16 μs 0.55 0.48 False
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableDictionary(Size%3a%20512).html>) 38.01 μs 13.41 μs 0.35 0.02 True
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).SortedDictionary(Size%3a%20512).html>) 13.93 μs 7.48 μs 0.54 0.01 True
[ReadOnlySpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ReadOnlySpan(Size%3a%20512).html>) 459.83 ns 118.30 ns 0.26 0.00 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.IterateForEach(Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 14.66 μs 4.68 μs 0.32 0.06 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.IterateForEach<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.IterateForEach<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.IterateForEach<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.IterateForEach<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.IterateForEach<Int32>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.175499988957987 < 15.513143208418777. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 263.16669739528464 (T) = (0 -7270.222089221604) / Math.Sqrt((56166.037554429415 / (299)) + (14909.070286728136 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5544422757052122 = (16317.127260510728 - 7270.222089221604) / 16317.127260510728 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Span(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 117.66817933002474 < 436.51178235179117. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4666.557730328874 (T) = (0 -117.72234984031975) / Math.Sqrt((0.5529755957843768 / (299)) + (0.049468464994933896 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7441368235194803 = (460.09883665023045 - 117.72234984031975) / 460.09883665023045 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.FrozenDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 980.2021833500899 < 3.938806720739901. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 10396.87375558697 (T) = (0 -980.4615968485699) / Math.Sqrt((8.239169514560723 / (218)) + (0.8241716371969547 / (15))) is greater than 1.970286659282671 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (218) + (15) - 2, .975) and 0.7635522995739973 = (4146.631982810971 - 980.4615968485699) / 4146.631982810971 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Array(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 117.77522430465557 < 434.71822603878593. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 120.8702943358369 (T) = (0 -117.94849566795503) / Math.Sqrt((3194.6486558036477 / (299)) + (0.026953979467101423 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7701128392404071 = (513.0712619105379 - 117.94849566795503) / 513.0712619105379 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.List(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 229.4771574703452 < 1.5302590526802646. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 197.6400241660518 (T) = (0 -229.45165755256846) / Math.Sqrt((13717.369504937269 / (299)) + (0.022230687276871136 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8536797479762706 = (1568.1469542258396 - 229.45165755256846) / 1568.1469542258396 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.223422542151421 < 4.243365329625688. IsChangePoint: Marked as a change because one of 3/16/2023 8:14:39 PM, 4/26/2023 1:55:38 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 85.89461524510962 (T) = (0 -3221.69332236438) / Math.Sqrt((47152.54531636401 / (299)) + (221.27350925290918 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.25932484399447975 = (4349.671102429104 - 3221.69332236438) / 4349.671102429104 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2525464671003317 < 2.884866901438202. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 77.0179446878098 (T) = (0 -1322.8970065503358) / Math.Sqrt((10772.92313596954 / (299)) + (5071.583012482724 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5374407873370404 = (2859.9516998794593 - 1322.8970065503358) / 2859.9516998794593 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3516420488998613 < 2.711985456033916. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 432.41793890220674 (T) = (0 -1349.9166140081006) / Math.Sqrt((3674.2554180046086 / (299)) + (2.223821750662731 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.53044273455343 = (2874.871103792356 - 1349.9166140081006) / 2874.871103792356 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 117.556858444278 < 1.0076260044725813. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 404.6631091841815 (T) = (0 -117.42177526351405) / Math.Sqrt((1619.482529594681 / (299)) + (0.019455771031654853 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8891523081061726 = (1059.3073545995308 - 117.42177526351405) / 1059.3073545995308 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.331521100062592 < 16.08870308224388. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 548.4625673852208 (T) = (0 -5344.157510070276) / Math.Sqrt((100641.10725079358 / (299)) + (1134.604401593847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6757161218305918 = (16479.87417764398 - 5344.157510070276) / 16479.87417764398 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2598474070027224 < 2.292265710829349. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 85.89627813753437 (T) = (0 -1264.0408998061434) / Math.Sqrt((67653.58691219952 / (299)) + (734.0969953886761 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5299220729165746 = (2689.002880115688 - 1264.0408998061434) / 2689.002880115688 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.032850944332134 < 10.204041315411262. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 52.48692040332107 (T) = (0 -6589.4066188313245) / Math.Sqrt((21156.08941628875 / (299)) + (98385.06372888332 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.39341195188949346 = (10863.067017817148 - 6589.4066188313245) / 10863.067017817148 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.4541405420740223 < 4.274194702661912. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 204.0436133846026 (T) = (0 -1401.6199557717375) / Math.Sqrt((32474.42539526381 / (299)) + (1693.1368473064056 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6841974324817715 = (4438.279165323233 - 1401.6199557717375) / 4438.279165323233 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9184067763760657 < 2.350268604075961. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 34.075946706148784 (T) = (0 -1879.835750299207) / Math.Sqrt((95616.76356685064 / (299)) + (2987.822634595527 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.29226300542942574 = (2656.121927665819 - 1879.835750299207) / 2656.121927665819 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4653817471748285 < 4.581748285243988. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1386.011108252655 (T) = (0 -3463.0010522096895) / Math.Sqrt((212.28809635052855 / (299)) + (3.8369572351752432 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.28229425419180815 = (4825.098687638461 - 3463.0010522096895) / 4825.098687638461 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.IEnumerable(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8075358485742947 < 2.6677599106051177. IsChangePoint: Marked as a change because one of 4/19/2023 4:18:46 AM, 5/3/2023 6:00:09 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 41.00400035239227 (T) = (0 -1745.7033244501063) / Math.Sqrt((68127.84468041029 / (299)) + (3161.765369988657 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32972978738967734 = (2604.476958108553 - 1745.7033244501063) / 2604.476958108553 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.062614253776667 < 4.538040938013041. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 15.104824679692294 (T) = (0 -3482.929993373318) / Math.Sqrt((108191.29943546487 / (299)) + (107640.77547780804 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2735339894492232 = (4794.346800523679 - 3482.929993373318) / 4794.346800523679 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentBag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.572582891011397 < 3.6699319385903175. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 346.7701732999978 (T) = (0 -1571.7939701900616) / Math.Sqrt((10442.729439171932 / (299)) + (3.1261464002437287 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5666688666242252 = (3627.235269123942 - 1571.7939701900616) / 3627.235269123942 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.697622425378173 < 38.881199848877564. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 271.9013248230392 (T) = (0 -12821.259833160058) / Math.Sqrt((2089691.3595966785 / (299)) + (51469.00680847339 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.684024714848531 = (40576.78063970711 - 12821.259833160058) / 40576.78063970711 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.698946860512534 < 7.008554617559263. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 48.16849551974827 (T) = (0 -4984.801077777314) / Math.Sqrt((22345.76729082095 / (299)) + (32375.773214035475 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3134872474262608 = (7261.04658520803 - 4984.801077777314) / 7261.04658520803 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1611360548774436 < 2.0105165059502874. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 76.01994225928092 (T) = (0 -1173.0938295344592) / Math.Sqrt((46573.44136725915 / (299)) + (1172.7918162373833 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4977874827614799 = (2335.851435931677 - 1173.0938295344592) / 2335.851435931677 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.407781230823517 < 35.989862555395796. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 160.43341745499922 (T) = (0 -13520.766323437598) / Math.Sqrt((6736290.583705298 / (299)) + (12843.24680997073 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6447028880662464 = (38054.81629121318 - 13520.766323437598) / 38054.81629121318 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.4845444139742625 < 13.193791687828408. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 327.11594127314515 (T) = (0 -7579.09382691658) / Math.Sqrt((24318.110317498147 / (299)) + (4375.190772989149 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4546176205312743 = (13896.84396166157 - 7579.09382691658) / 13896.84396166157 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ReadOnlySpan(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 118.29614196346333 < 436.8701621478621. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4809.491489797222 (T) = (0 -117.74273817808731) / Math.Sqrt((0.5865511604166991 / (299)) + (0.046483568634586483 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7439709098785513 = (459.88031329656883 - 117.74273817808731) / 459.88031329656883 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.IterateForEach<Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.6756924097346895 < 13.93827721962421. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 264.8133429879193 (T) = (0 -4697.504457765587) / Math.Sqrt((427636.45799201465 / (299)) + (1397.979360684321 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6875296491564359 = (15033.44059711239 - 4697.504457765587) / 15033.44059711239 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Tests.Perf_Version

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryFormat2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryFormat2.html>) 65.00 ns 9.02 ns 0.14 0.02 True
[TryParse2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryParse2.html>) 86.27 ns 31.45 ns 0.36 0.04 True
[TryFormat4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryFormat4.html>) 126.00 ns 16.40 ns 0.13 0.01 True
[Parse4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Parse4.html>) 165.24 ns 44.02 ns 0.27 0.07 True
[TryParse3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryParse3.html>) 121.04 ns 41.48 ns 0.34 0.05 True
[TryParse4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryParse4.html>) 153.43 ns 51.29 ns 0.33 0.07 True
[ToString4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.ToString4.html>) 159.17 ns 27.69 ns 0.17 0.01 True
[Parse2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Parse2.html>) 89.76 ns 24.75 ns 0.28 0.04 True
[Ctor2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Ctor2.html>) 13.74 ns 5.19 ns 0.38 0.09 True
[Parse3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Parse3.html>) 125.85 ns 33.70 ns 0.27 0.03 True
[Ctor4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Ctor4.html>) 24.60 ns 5.19 ns 0.21 0.06 True
[ToStringL - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.ToStringL.html>) 325.16 ns 48.96 ns 0.15 0.01 True
[Ctor3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.Ctor3.html>) 23.00 ns 5.06 ns 0.22 0.06 True
[TryFormat3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryFormat3.html>) 95.60 ns 12.72 ns 0.13 0.01 True
[TryFormatL - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.TryFormatL.html>) 255.28 ns 34.27 ns 0.13 0.01 True
[ToString3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.ToString3.html>) 128.07 ns 24.77 ns 0.19 0.01 True
[ToString2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Version.ToString2.html>) 97.23 ns 21.09 ns 0.22 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_Version*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_Version* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_Version*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_Version* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Version.TryFormat2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.015713073930334 < 61.72159192297864. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 303.6653239757106 (T) = (0 -9.043373562374683) / Math.Sqrt((7.680235842012219 / (299)) + (0.06350302048691445 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8537482504959601 = (61.83429321729163 - 9.043373562374683) / 61.83429321729163 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryParse2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.452190075933462 < 81.97429717522208. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 233.2700662722524 (T) = (0 -30.61809788046133) / Math.Sqrt((3.4674109557243007 / (299)) + (0.7684384247050645 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6563142124064881 = (89.08747171318684 - 30.61809788046133) / 89.08747171318684 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryFormat4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.39568388827529 < 119.72478970604061. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 311.9623309999487 (T) = (0 -16.555788845690973) / Math.Sqrt((31.968213621586447 / (299)) + (0.030408868112389735 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8614860278687156 = (119.52432372670172 - 16.555788845690973) / 119.52432372670172 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Parse4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.01608014658344 < 155.29945919404688. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 367.94971549106265 (T) = (0 -42.67963186564184) / Math.Sqrt((29.418255886520395 / (299)) + (0.32804608831831067 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.749353803399807 = (170.27839418493278 - 42.67963186564184) / 170.27839418493278 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryParse3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 41.47945500811833 < 113.86632417756205. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 385.2121674781669 (T) = (0 -42.14221401697712) / Math.Sqrt((10.692390859590168 / (299)) + (0.11838858118739799 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6577806122841593 = (123.1438531237441 - 42.14221401697712) / 123.1438531237441 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryParse4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.28964371266321 < 145.82632712969308. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 370.7252885665808 (T) = (0 -51.86356966330179) / Math.Sqrt((19.23991744228782 / (299)) + (0.24578901959908123 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.670079309600422 = (157.2001125497406 - 51.86356966330179) / 157.2001125497406 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.ToString4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.69257734338368 < 150.82410732538904. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 326.13561473148434 (T) = (0 -28.35213275483306) / Math.Sqrt((40.53686243902941 / (299)) + (0.14227176261136015 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8141652707685328 = (152.5663845078116 - 28.35213275483306) / 152.5663845078116 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Parse2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.74873530087093 < 85.950393313921. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 377.5660432792684 (T) = (0 -25.034247932848416) / Math.Sqrt((7.167103919778398 / (299)) + (0.14835381587395607 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.735118207769903 = (94.51101837570518 - 25.034247932848416) / 94.51101837570518 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Ctor2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.188775589747634 < 13.119150962342518. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 190.49762693078145 (T) = (0 -5.110610570896651) / Math.Sqrt((0.14869098268225844 / (299)) + (0.02131360367433646 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.620138739195961 = (13.453887243145562 - 5.110610570896651) / 13.453887243145562 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Parse3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.7048270475166 < 119.16819023695406. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 442.7264338538402 (T) = (0 -34.191838350436385) / Math.Sqrt((11.14553814973751 / (299)) + (0.17565404987365782 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7413233259732078 = (132.17982827046475 - 34.191838350436385) / 132.17982827046475 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Ctor4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.186759219828579 < 23.38579657639474. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 333.2679603687438 (T) = (0 -5.155249019941561) / Math.Sqrt((0.8218153394017549 / (299)) + (0.009154200031092737 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7893230209006746 = (24.46992092814791 - 5.155249019941561) / 24.46992092814791 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.ToStringL ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 48.96400579871237 < 309.30940887419274. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 411.7822589263227 (T) = (0 -48.642499720604995) / Math.Sqrt((147.3288613991411 / (299)) + (0.20118143238789513 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8576047553227872 = (341.6019954238623 - 48.642499720604995) / 341.6019954238623 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.Ctor3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.063850970410436 < 21.650983575443004. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 452.6046875069333 (T) = (0 -5.135045206798109) / Math.Sqrt((0.25653150049739115 / (299)) + (0.009127354007400274 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7714429404439092 = (22.46723516994626 - 5.135045206798109) / 22.46723516994626 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryFormat3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.717477373549668 < 90.8568355006101. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 306.0486430567156 (T) = (0 -13.244571610805016) / Math.Sqrt((17.5497204611459 / (299)) + (0.08441069342882875 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8542374469697527 = (90.86402052834937 - 13.244571610805016) / 90.86402052834937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.TryFormatL ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.273315069161356 < 242.53833388255578. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 348.88691078467264 (T) = (0 -33.28585340142501) / Math.Sqrt((131.12325542864608 / (299)) + (0.4644606429030092 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8777802297201782 = (272.34426414987655 - 33.28585340142501) / 272.34426414987655 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.ToString3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.76798967223017 < 121.55696732662778. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 330.7184956531148 (T) = (0 -24.94142872686593) / Math.Sqrt((24.608443620924053 / (299)) + (0.09044507348443133 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7976081556091394 = (123.23336842910958 - 24.94142872686593) / 123.23336842910958 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Version.ToString2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.092575598688224 < 92.10044823711668. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 354.04398949117547 (T) = (0 -21.29679526602125) / Math.Sqrt((10.988661980190397 / (299)) + (0.08382057433957676 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7737916481742909 = (94.1468124149111 - 21.29679526602125) / 94.1468124149111 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Linq.Tests.Perf_OrderBy

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[OrderByCustomComparer - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople%3a%20512).html>) 235.12 μs 114.27 μs 0.49 0.03 True
[OrderByValueType - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople%3a%20512).html>) 83.09 μs 30.16 μs 0.36 0.02 True
[OrderByString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Linq.Tests.Perf_OrderBy.OrderByString(NumberOfPeople%3a%20512).html>) 621.98 μs 206.06 μs 0.33 0.04 True

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Linq.Tests.Perf_OrderBy*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Linq.Tests.Perf_OrderBy* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Linq.Tests.Perf_OrderBy*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Linq.Tests.Perf_OrderBy* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Linq.Tests.Perf_OrderBy.OrderByCustomComparer(NumberOfPeople: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 114.27385099663111 < 221.71452333434792. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 237.440770208566 (T) = (0 -114267.23363290045) / Math.Sqrt((67107411.75187967 / (299)) + (423890.9411089076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5108982825374624 = (233626.72743354793 - 114267.23363290045) / 233626.72743354793 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_OrderBy.OrderByValueType(NumberOfPeople: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.155068151294493 < 78.91991484042366. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 465.79528996625515 (T) = (0 -29955.77252152077) / Math.Sqrt((2141607.8756780657 / (299)) + (88948.91443566189 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6401847667091913 = (83253.20817451332 - 29955.77252152077) / 83253.20817451332 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Linq.Tests.Perf_OrderBy.OrderByString(NumberOfPeople: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 206.0632184758772 < 591.3612650244047. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 271.61810394000406 (T) = (0 -206739.51232563035) / Math.Sqrt((82359329.74783307 / (299)) + (32029754.141230308 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6710437904853339 = (628471.2260961687 - 206739.51232563035) / 628471.2260961687 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Enumerate - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Enumerate(Size%3a%2010).html>) 89.37 ns 22.20 ns 0.25 0.09 True
[Enumerate - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Enumerate(Size%3a%201000).html>) 6.85 μs 1.32 μs 0.19 0.04 True
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%20100).html>) 3.79 μs 1.06 μs 0.28 0.02 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%2010).html>) 750.49 ns 204.44 ns 0.27 0.01 True
[Enumerate - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Enumerate(Size%3a%20100).html>) 689.39 ns 142.08 ns 0.21 0.07 True
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Dequeue_And_Enqueue(Size%3a%20100).html>) 44.94 μs 12.28 μs 0.27 0.02 True
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%2010).html>) 726.53 ns 179.65 ns 0.25 0.02 True
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Dequeue_And_Enqueue(Size%3a%201000).html>) 627.59 μs 243.97 μs 0.39 0.01 True
[K_Max_Elements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).K_Max_Elements(Size%3a%201000).html>) 26.51 μs 8.25 μs 0.31 0.01 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%20100).html>) 16.82 μs 4.08 μs 0.24 0.02 True
[HeapSort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).HeapSort(Size%3a%201000).html>) 265.42 μs 106.77 μs 0.40 0.00 True
[Dequeue_And_Enqueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_PriorityQueue(Guid%2c%20Guid).Dequeue_And_Enqueue(Size%3a%2010).html>) 2.17 μs 574.77 ns 0.26 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Enumerate(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.196978477764027 < 84.5446345617721. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 333.75993864776103 (T) = (0 -22.136510832912858) / Math.Sqrt((5.356358062160526 / (299)) + (0.35275854048555344 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7542365361170741 = (90.07242363518286 - 22.136510832912858) / 90.07242363518286 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Enumerate(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3213245110904166 < 6.4768795783480035. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 444.8193749182027 (T) = (0 -1322.8579278885088) / Math.Sqrt((45168.26287384455 / (299)) + (1.766770854822327 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8052382884110473 = (6792.186806616379 - 1322.8579278885088) / 6792.186806616379 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0585051016670266 < 3.5871907298510246. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.52248188585361 (T) = (0 -1097.3425939377003) / Math.Sqrt((1151.557801264784 / (299)) + (7321.18844178444 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7090638467797825 = (3771.764291896345 - 1097.3425939377003) / 3771.764291896345 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 204.4368611074503 < 711.529258170706. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 186.58908692375437 (T) = (0 -197.13383383016148) / Math.Sqrt((12.939478363273901 / (299)) + (130.67288529280236 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7368823729409818 = (749.223212574594 - 197.13383383016148) / 749.223212574594 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Enumerate(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 142.0826396326399 < 655.2095527132119. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 144.17428217294238 (T) = (0 -146.018442513214) / Math.Sqrt((355.26898925444897 / (299)) + (197.34345926823138 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.789010370054028 = (692.0645462556851 - 146.018442513214) / 692.0645462556851 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.281861357263953 < 42.502517810622706. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 250.3737667651521 (T) = (0 -13148.695210549096) / Math.Sqrt((1103398.0885745108 / (299)) + (181832.60566642424 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7054015724082027 = (44632.60485819105 - 13148.695210549096) / 44632.60485819105 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 179.6526480392393 < 691.3754117285381. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 132.71262011293172 (T) = (0 -189.39925809641733) / Math.Sqrt((118.54213526898069 / (299)) + (240.97956137316314 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7397845432223833 = (727.8555257318179 - 189.39925809641733) / 727.8555257318179 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 243.96797000000004 < 596.549355321875. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 274.3283654058307 (T) = (0 -245110.98905605174) / Math.Sqrt((62262974.04878661 / (299)) + (25526518.814055454 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6073454888277882 = (624240.8582657288 - 245110.98905605174) / 624240.8582657288 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.K_Max_Elements(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.253458415613482 < 25.08492657228085. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 711.4381745157383 (T) = (0 -8290.96765774802) / Math.Sqrt((1336.4133509605106 / (299)) + (9614.357415018105 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6855340639570937 = (26365.232947255645 - 8290.96765774802) / 26365.232947255645 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.076858976586793 < 15.972978054075814. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 348.68777738015217 (T) = (0 -4319.385340687744) / Math.Sqrt((46937.60350237613 / (299)) + (16618.41752848737 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7416713056953125 = (16720.50157770401 - 4319.385340687744) / 16720.50157770401 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.HeapSort(Size: 1000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 106.76682276071243 < 248.84630771583684. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 313.2900219309231 (T) = (0 -105314.39408530851) / Math.Sqrt((14493048.726676963 / (299)) + (2926423.98556976 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5948367558591015 = (259930.7701482532 - 105314.39408530851) / 259930.7701482532 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_PriorityQueue<Guid, Guid>.Dequeue_And_Enqueue(Size: 10) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 574.768738798809 < 2.0688320830601987. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 202.8201340939546 (T) = (0 -586.7279304251655) / Math.Sqrt((168.83775310817552 / (299)) + (912.7025678010457 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7303811027552224 = (2176.1380096903804 - 586.7279304251655) / 2176.1380096903804 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Memory.Span<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyTwoValues(Size%3a%20512).html>) 277.15 ns 6.98 ns 0.03 0.25 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareToDifferent(Size%3a%204).html>) 14.70 ns 3.21 ns 0.22 0.03 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfValue(Size%3a%20512).html>) 204.56 ns 6.32 ns 0.03 0.52 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceEqual(Size%3a%204).html>) 29.80 ns 2.10 ns 0.07 0.00 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).BinarySearch(Size%3a%2033).html>) 23.75 ns 5.83 ns 0.25 0.04 True
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareTo(Size%3a%2033).html>) 46.18 ns 3.23 ns 0.07 0.00 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).ToArray(Size%3a%204).html>) 19.11 ns 9.67 ns 0.51 0.02 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Reverse(Size%3a%2033).html>) 49.81 ns 2.18 ns 0.04 0.05 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).EndsWith(Size%3a%2033).html>) 49.69 ns 3.91 ns 0.08 0.02 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareToDifferent(Size%3a%20512).html>) 30.54 ns 3.05 ns 0.10 0.02 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceEqual(Size%3a%20512).html>) 501.11 ns 9.08 ns 0.02 0.03 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).ToArray(Size%3a%20512).html>) 212.42 ns 31.59 ns 0.15 0.01 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).GetPinnableReference(Size%3a%2033).html>) 2.74 ns 1.03 ns 0.38 0.01 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Fill(Size%3a%20512).html>) 31.79 ns 4.71 ns 0.15 0.17 True
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyTwoValues(Size%3a%2033).html>) 28.72 ns 2.31 ns 0.08 0.05 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Clear(Size%3a%2033).html>) 10.33 ns 2.42 ns 0.23 0.02 True
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareTo(Size%3a%204).html>) 17.26 ns 4.25 ns 0.25 0.02 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfAnyValues(Size%3a%2033).html>) 30.02 ns 2.42 ns 0.08 0.05 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFourValues(Size%3a%20512).html>) 534.26 ns 12.49 ns 0.02 0.50 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfAnyValues(Size%3a%204).html>) 12.24 ns 2.73 ns 0.22 0.12 True
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfValue(Size%3a%204).html>) 11.05 ns 2.05 ns 0.19 0.02 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).BinarySearch(Size%3a%204).html>) 18.35 ns 3.78 ns 0.21 0.03 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).StartsWith(Size%3a%204).html>) 27.13 ns 2.42 ns 0.09 0.01 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfValue(Size%3a%204).html>) 10.16 ns 2.04 ns 0.20 0.07 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfValue(Size%3a%2033).html>) 19.64 ns 2.33 ns 0.12 0.15 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).EndsWith(Size%3a%20512).html>) 267.04 ns 7.82 ns 0.03 0.03 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).StartsWith(Size%3a%2033).html>) 35.32 ns 3.28 ns 0.09 0.04 True
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyTwoValues(Size%3a%204).html>) 13.58 ns 3.30 ns 0.24 0.06 True
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyThreeValues(Size%3a%2033).html>) 41.83 ns 2.73 ns 0.07 0.02 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).BinarySearch(Size%3a%20512).html>) 30.44 ns 9.10 ns 0.30 0.07 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFiveValues(Size%3a%2033).html>) 67.69 ns 5.67 ns 0.08 0.05 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).StartsWith(Size%3a%20512).html>) 265.83 ns 5.90 ns 0.02 0.02 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFiveValues(Size%3a%20512).html>) 687.78 ns 13.74 ns 0.02 0.48 True
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfValue(Size%3a%2033).html>) 19.20 ns 2.28 ns 0.12 0.05 True
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyThreeValues(Size%3a%204).html>) 14.59 ns 3.54 ns 0.24 0.11 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Fill(Size%3a%204).html>) 8.40 ns 2.43 ns 0.29 0.01 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Clear(Size%3a%20512).html>) 33.01 ns 5.55 ns 0.17 0.25 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Fill(Size%3a%2033).html>) 9.01 ns 1.88 ns 0.21 0.03 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareToDifferent(Size%3a%2033).html>) 30.50 ns 3.05 ns 0.10 0.03 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFourValues(Size%3a%2033).html>) 54.93 ns 4.69 ns 0.09 0.20 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Clear(Size%3a%204).html>) 9.90 ns 2.98 ns 0.30 0.02 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).EndsWith(Size%3a%204).html>) 28.19 ns 2.94 ns 0.10 0.02 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).GetPinnableReference(Size%3a%20512).html>) 2.75 ns 1.01 ns 0.37 0.00 True
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfValue(Size%3a%20512).html>) 185.35 ns 5.72 ns 0.03 0.03 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFourValues(Size%3a%204).html>) 27.95 ns 5.02 ns 0.18 0.12 True
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceCompareTo(Size%3a%20512).html>) 509.32 ns 8.81 ns 0.02 0.02 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).ToArray(Size%3a%2033).html>) 30.60 ns 9.77 ns 0.32 0.02 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).GetPinnableReference(Size%3a%204).html>) 2.74 ns 1.02 ns 0.37 0.01 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Reverse(Size%3a%204).html>) 23.89 ns 2.40 ns 0.10 0.03 True
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyThreeValues(Size%3a%20512).html>) 395.93 ns 8.20 ns 0.02 0.01 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).Reverse(Size%3a%20512).html>) 636.73 ns 7.35 ns 0.01 0.04 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).SequenceEqual(Size%3a%2033).html>) 59.10 ns 2.68 ns 0.05 0.01 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).IndexOfAnyFiveValues(Size%3a%204).html>) 30.39 ns 5.57 ns 0.18 0.15 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Byte).LastIndexOfAnyValues(Size%3a%20512).html>) 253.46 ns 6.72 ns 0.03 0.22 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Span<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Span<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Span<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Span<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.977493513969511 < 254.4581115754208. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 226.35096018496128 (T) = (0 -7.007728232645264) / Math.Sqrt((449.2253315766864 / (299)) + (0.008471701390775318 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9753687966306418 = (284.5061253224451 - 7.007728232645264) / 284.5061253224451 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.2118926171102773 < 13.963807219655187. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 359.56542777389996 (T) = (0 -3.307058070299335) / Math.Sqrt((0.007603287342153912 / (299)) + (0.014760864180708511 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7755083956815132 = (14.731321825325834 - 3.307058070299335) / 14.731321825325834 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfValue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.321214785925318 < 193.9409034109376. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 287.2825287350467 (T) = (0 -6.159603823001948) / Math.Sqrt((124.18864290692485 / (299)) + (0.11699658498051733 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9680909127747002 = (193.0360395303997 - 6.159603823001948) / 193.0360395303997 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceEqual(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1035994011172052 < 28.290348777311706. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5137.2410698979165 (T) = (0 -2.101596656905739) / Math.Sqrt((0.006795025732275835 / (299)) + (8.720141971188742E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9293457002337412 = (29.74478076859185 - 2.101596656905739) / 29.74478076859185 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.BinarySearch(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.8262853399362005 < 22.54802975560835. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 408.5073957907615 (T) = (0 -6.016377940936835) / Math.Sqrt((0.12841303453972697 / (299)) + (0.021468383795840682 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7454751864471917 = (23.637687253186296 - 6.016377940936835) / 23.637687253186296 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareTo(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.225765674787323 < 43.701347529397275. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2431.1250517589947 (T) = (0 -3.231369729792521) / Math.Sqrt((0.09141176282546182 / (299)) + (2.0706542161571688E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9295006174815085 = (45.83543308262238 - 3.231369729792521) / 45.83543308262238 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.ToArray(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.66685686481252 < 18.142662565922834. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 206.80645410532279 (T) = (0 -9.4566528540369) / Math.Sqrt((0.037088212092661214 / (299)) + (0.029709384587065266 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5008164291391656 = (18.94423896549529 - 9.4566528540369) / 18.94423896549529 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Reverse(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.178744438988986 < 47.31657590804185. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 782.3434060953979 (T) = (0 -2.2419619041357994) / Math.Sqrt((1.0547967121116917 / (299)) + (0.003111576320483116 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9552107440270803 = (50.05579698602991 - 2.2419619041357994) / 50.05579698602991 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.EndsWith(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.9068501046251383 < 47.173222743286686. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1149.7260570507112 (T) = (0 -3.826686271299402) / Math.Sqrt((0.12703592103945827 / (299)) + (0.017636476640212683 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9231972269764623 = (49.82484512800913 - 3.826686271299402) / 49.82484512800913 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0450883917656086 < 29.122985286585234. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 672.4192412892812 (T) = (0 -2.982082073518549) / Math.Sqrt((0.14485871311035137 / (299)) + (0.017640934523094978 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9018502350916361 = (30.38297724200077 - 2.982082073518549) / 30.38297724200077 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceEqual(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.076985732109797 < 482.01252998854176. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1414.3672865676162 (T) = (0 -9.116788184800061) / Math.Sqrt((36.31427530854412 / (299)) + (0.024346281461831175 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9819579154787916 = (505.3068105341866 - 9.116788184800061) / 505.3068105341866 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.ToArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.592712946202333 < 201.5339234404628. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 917.885304135759 (T) = (0 -31.086401764433347) / Math.Sqrt((5.000462560167904 / (299)) + (0.32275088201677676 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8523778899206355 = (210.58093362654603 - 31.086401764433347) / 210.58093362654603 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.GetPinnableReference(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0312762446912365 < 2.602079486866079. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 637.8060361411044 (T) = (0 -1.0278231906055175) / Math.Sqrt((0.0005524210459394689 / (299)) + (8.067949716187133E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6252030587876151 = (2.742346795255953 - 1.0278231906055175) / 2.742346795255953 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Fill(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.712479537885009 < 30.160941316960155. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 189.54038296786612 (T) = (0 -4.740149189146068) / Math.Sqrt((2.674024779074249 / (299)) + (0.10267775908532638 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8340066901166627 = (28.556266469278317 - 4.740149189146068) / 28.556266469278317 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.311024249253168 < 27.164944259011946. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 175.2158504933868 (T) = (0 -2.3267782398189554) / Math.Sqrt((8.117596136133676 / (299)) + (0.0003987690907470682 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9254505940480677 = (31.211224423695754 - 2.3267782398189554) / 31.211224423695754 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Clear(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4243596463692536 < 9.82969861676398. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 280.69501857077944 (T) = (0 -2.4528686880388637) / Math.Sqrt((0.006544093733348784 / (299)) + (0.011548551834852016 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7630371539477374 = (10.351279657984351 - 2.4528686880388637) / 10.351279657984351 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareTo(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.247092723459743 < 16.397812729379222. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 441.60862466574105 (T) = (0 -4.293640025460548) / Math.Sqrt((0.11987830680474887 / (299)) + (0.007589657147948191 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7559411883619006 = (17.592644972095236 - 4.293640025460548) / 17.592644972095236 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.415356366071601 < 28.526288938805976. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 252.31136468159062 (T) = (0 -2.3918010887172776) / Math.Sqrt((3.740738325747114 / (299)) + (0.01544257020452998 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9246712287276938 = (31.751494791693162 - 2.3918010887172776) / 31.751494791693162 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.486374208321068 < 507.4809455433222. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.7579165672989 (T) = (0 -12.28621726442228) / Math.Sqrt((866.1098011895156 / (299)) + (0.01121386662510702 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9762549969479005 = (517.4232758557598 - 12.28621726442228) / 517.4232758557598 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7258930410159605 < 11.612162033958446. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 243.10181874215968 (T) = (0 -2.6813448710464334) / Math.Sqrt((0.3762044620039204 / (299)) + (0.004898491936349235 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7830458937750684 = (12.359041816274708 - 2.6813448710464334) / 12.359041816274708 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfValue(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.047521139998859 < 10.497103464803367. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 810.650148418597 (T) = (0 -1.9936228915811158) / Math.Sqrt((0.027128900275718827 / (299)) + (0.0005590664109817063 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8214431077845711 = (11.1651970800198 - 1.9936228915811158) / 11.1651970800198 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.BinarySearch(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.783945696488637 < 17.45805649371946. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 836.0958158152368 (T) = (0 -3.723308967208633) / Math.Sqrt((0.07194407233577767 / (299)) + (0.001017079777630872 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7977205089949129 = (18.406754677442777 - 3.723308967208633) / 18.406754677442777 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.StartsWith(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.422283896417619 < 25.7689974013537. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1540.3879812900348 (T) = (0 -2.3739280469138055) / Math.Sqrt((0.016437664053509687 / (299)) + (0.003054346753714375 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.912546101416628 = (27.144908178686606 - 2.3739280469138055) / 27.144908178686606 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfValue(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.042582852234564 < 9.644173056870635. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 442.50275763940175 (T) = (0 -2.0431106493212914) / Math.Sqrt((0.10276173332614263 / (299)) + (1.842494696790255E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8009099530158342 = (10.262244046201792 - 2.0431106493212914) / 10.262244046201792 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfValue(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3279763205255293 < 18.727513921056993. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 512.4621378559187 (T) = (0 -2.3550873896423976) / Math.Sqrt((0.31951739507370025 / (299)) + (0.0016395753323244753 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.881910586432385 = (19.943255864285717 - 2.3550873896423976) / 19.943255864285717 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.EndsWith(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.821990381718363 < 253.1367881766113. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1643.9600717085427 (T) = (0 -7.127036355142385) / Math.Sqrt((5.667915873145535 / (299)) + (0.08607824420824604 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9731529757380977 = (265.4683917895551 - 7.127036355142385) / 265.4683917895551 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.StartsWith(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.2797184055545077 < 32.69914544736922. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 603.0274888999479 (T) = (0 -3.4037571515094323) / Math.Sqrt((0.3273086035338176 / (299)) + (0.024244204760316006 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.902195116386351 = (34.80150505525908 - 3.4037571515094323) / 34.80150505525908 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyTwoValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.302226863548678 < 12.605284474846195. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 604.0232502445801 (T) = (0 -3.3016596130517453) / Math.Sqrt((0.08124046158666394 / (299)) + (3.663417414182171E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7518062512233149 = (13.302750892499104 - 3.3016596130517453) / 13.302750892499104 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyThreeValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.732542935489228 < 39.72676079305553. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 821.0538598365156 (T) = (0 -2.7335502535935055) / Math.Sqrt((0.6983109518461115 / (299)) + (3.243064661909591E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9355764106097226 = (42.430890291344845 - 2.7335502535935055) / 42.430890291344845 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.BinarySearch(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.096617777715638 < 28.249480493638977. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 238.98792014229858 (T) = (0 -8.812579488676374) / Math.Sqrt((0.3087205389844969 / (299)) + (0.10066836029443016 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7047034960544725 = (29.843155509562024 - 8.812579488676374) / 29.843155509562024 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFiveValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.671106994952502 < 64.27493492597311. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 663.1448686681649 (T) = (0 -5.377628151157283) / Math.Sqrt((1.7581509685832135 / (299)) + (0.04167443936041622 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9198369223564008 = (67.083603938785 - 5.377628151157283) / 67.083603938785 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.StartsWith(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.895085747455749 < 252.0178572991282. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1840.3751373544142 (T) = (0 -5.878765032517903) / Math.Sqrt((5.352846181943177 / (299)) + (0.028478650500150613 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9778033761434108 = (264.84951362424187 - 5.878765032517903) / 264.84951362424187 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFiveValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.73693148973896 < 654.1496818481158. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 554.3726408832447 (T) = (0 -13.70775127291366) / Math.Sqrt((463.39340556683067 / (299)) + (0.056598997498792394 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9805479272872814 = (704.6936064531033 - 13.70775127291366) / 704.6936064531033 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfValue(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2764862226916334 < 18.228772091749473. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 438.3742526436495 (T) = (0 -2.183232528547956) / Math.Sqrt((0.07227950010824324 / (299)) + (0.019445520603121373 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8873210763383539 = (19.375695627904637 - 2.183232528547956) / 19.375695627904637 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyThreeValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.5369251087632074 < 13.862894970231133. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 254.15870197479668 (T) = (0 -3.5113535620358274) / Math.Sqrt((0.6127029270535095 / (299)) + (0.0013727788754058408 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7700589823830292 = (15.270670706889451 - 3.5113535620358274) / 15.270670706889451 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Fill(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4313637621087794 < 7.964461650890122. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1233.7213454509165 (T) = (0 -2.423160028747508) / Math.Sqrt((0.004294194900913453 / (299)) + (0.00013421619494226471 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7108252194819983 = (8.379569008081816 - 2.423160028747508) / 8.379569008081816 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Clear(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.546471890682366 < 31.389443164122984. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 166.92356945114543 (T) = (0 -5.332083835220455) / Math.Sqrt((3.8460337105524642 / (299)) + (0.15010715479287765 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8256105532251222 = (30.575725388381628 - 5.332083835220455) / 30.575725388381628 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Fill(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8823780629337947 < 8.559476518471866. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 99.34080420829096 (T) = (0 -1.974383835989109) / Math.Sqrt((0.03657191155396491 / (299)) + (0.07415465656866142 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7817159109496956 = (9.04501947246418 - 1.974383835989109) / 9.04501947246418 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareToDifferent(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.045109763392257 < 29.103818699201366. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 724.0183251230709 (T) = (0 -2.967141421395625) / Math.Sqrt((0.1632724507284661 / (299)) + (0.013326832921041561 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9023624613567671 = (30.389350885191266 - 2.967141421395625) / 30.389350885191266 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.691095305823367 < 52.19638581622167. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 521.3809418420489 (T) = (0 -4.739071709934588) / Math.Sqrt((2.6345254795940365 / (299)) + (0.004135425566573144 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9129480870535821 = (54.43960447889955 - 4.739071709934588) / 54.43960447889955 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Clear(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.977638411332795 < 9.410995759741224. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 209.11394770000385 (T) = (0 -2.909215877959752) / Math.Sqrt((0.001671123875498321 / (299)) + (0.0168261991147767 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7070390532589763 = (9.930388027218823 - 2.909215877959752) / 9.930388027218823 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.EndsWith(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.935216063591763 < 25.576550224038755. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1358.8275206237968 (T) = (0 -2.9698834730027968) / Math.Sqrt((0.08145769181097663 / (299)) + (0.0006076324225626181 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8900360472918539 = (27.007791188491783 - 2.9698834730027968) / 27.007791188491783 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.GetPinnableReference(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0066641024042555 < 2.6101234327762914. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 478.34806433387894 (T) = (0 -1.0209667547469405) / Math.Sqrt((0.000709777876333629 / (299)) + (0.00015699970596207564 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6267115537769542 = (2.735061224308284 - 1.0209667547469405) / 2.735061224308284 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfValue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.719287520627698 < 176.05412478472888. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 506.2033063106919 (T) = (0 -5.488086496220402) / Math.Sqrt((41.99007394782415 / (299)) + (0.044613857825220475 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.972167735990627 = (197.18433593372794 - 5.488086496220402) / 197.18433593372794 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFourValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.017005116950084 < 26.291069796542697. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 392.6369087973389 (T) = (0 -5.265710568423462) / Math.Sqrt((0.652445559809662 / (299)) + (0.015918317244616474 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8111715480980469 = (27.886213732015445 - 5.265710568423462) / 27.886213732015445 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceCompareTo(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.81193586302267 < 483.7397814533151. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2011.0075478988283 (T) = (0 -9.316435689386728) / Math.Sqrt((13.634031874418936 / (299)) + (0.2359506734753514 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9816365395690964 = (507.3355168783 - 9.316435689386728) / 507.3355168783 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.ToArray(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.770628355990084 < 29.118452618011094. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 467.8086380396521 (T) = (0 -10.204007821698811) / Math.Sqrt((0.24301181525534366 / (299)) + (0.01622077904161356 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6661408495504358 = (30.563810540937446 - 10.204007821698811) / 30.563810540937446 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.GetPinnableReference(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0234122566433326 < 2.600925836012815. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 467.98095109630947 (T) = (0 -1.027964416131315) / Math.Sqrt((0.00090252381638855 / (299)) + (0.00015555309706101732 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.624875996541999 = (2.7403322812063298 - 1.027964416131315) / 2.7403322812063298 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Reverse(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4046833640361345 < 22.703969774671616. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 850.6918456839365 (T) = (0 -2.41907723762797) / Math.Sqrt((0.11801685568410396 / (299)) + (0.003348889131574725 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8985178131194587 = (23.837456720119384 - 2.41907723762797) / 23.837456720119384 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyThreeValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.19877916566661 < 375.9843811028495. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 964.1125573003944 (T) = (0 -8.263362685960981) / Math.Sqrt((48.9840484477599 / (299)) + (0.03734540047908169 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9794160206056589 = (401.44631548906216 - 8.263362685960981) / 401.44631548906216 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.Reverse(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.346810207147529 < 604.4958092057361. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2011.312426330007 (T) = (0 -7.96279513071016) / Math.Sqrt((4.0737174684685264 / (299)) + (1.260009740899933 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9874877069532483 = (636.3977490742441 - 7.96279513071016) / 636.3977490742441 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.SequenceEqual(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.6836018642087027 < 56.14264115707187. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1391.6741798963724 (T) = (0 -2.9103346544162045) / Math.Sqrt((0.07670080397270602 / (299)) + (0.02052467353171499 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9506787168996433 = (59.00768332596683 - 2.9103346544162045) / 59.00768332596683 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.IndexOfAnyFiveValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.568331657727735 < 29.30446826739699. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 414.75767504211103 (T) = (0 -5.611892574757553) / Math.Sqrt((1.0086924883057589 / (299)) + (0.005982325695630825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8194730130014916 = (31.086169819052696 - 5.611892574757553) / 31.086169819052696 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Byte>.LastIndexOfAnyValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.7179438639240585 < 258.1793372367959. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 216.26034234292976 (T) = (0 -6.815495637210918) / Math.Sqrt((485.6704908131229 / (299)) + (0.030703311081135425 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9758837426139768 = (282.6100056952 - 6.815495637210918) / 282.6100056952 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.Json.Tests.Perf_Reader

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 181.51 μs 49.80 μs 0.27 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 173.01 μs 43.44 μs 0.25 0.02 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.54 μs 755.81 ns 0.30 0.03 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.25 μs 632.51 ns 0.28 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 153.44 μs 33.40 μs 0.22 0.05 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 2.08 μs 539.37 ns 0.26 0.03 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 15.64 μs 6.71 μs 0.43 0.01 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 225.12 ns 71.45 ns 0.32 0.01 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 8.73 μs 2.41 μs 0.28 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 229.52 ns 71.93 ns 0.31 0.04 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 4.45 μs 1.62 μs 0.37 0.03 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 3.19 μs 828.03 ns 0.26 0.01 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 21.18 μs 5.90 μs 0.28 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 181.51 μs 51.13 μs 0.28 0.02 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 3.41 μs 951.62 ns 0.28 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 5.44 μs 2.36 μs 0.43 0.01 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 4.00 μs 1.32 μs 0.33 0.03 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 198.22 ns 61.82 ns 0.31 0.02 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 22.40 μs 7.85 μs 0.35 0.02 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.49 μs 1.59 μs 0.36 0.03 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 15.51 μs 3.49 μs 0.22 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 18.71 μs 5.05 μs 0.27 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 373.99 ns 131.14 ns 0.35 0.03 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 3.16 μs 857.42 ns 0.27 0.03 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 218.53 ns 72.73 ns 0.33 0.02 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.45 μs 711.39 ns 0.29 0.04 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 245.42 ns 81.99 ns 0.33 0.03 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 193.68 μs 52.69 μs 0.27 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 8.75 μs 2.45 μs 0.28 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 160.99 μs 36.63 μs 0.23 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 19.47 μs 6.15 μs 0.32 0.05 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20HelloWorld).html>) 347.42 ns 121.73 ns 0.35 0.04 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfStrings).html>) 3.60 μs 1.22 μs 0.34 0.02 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 1.90 μs 467.87 ns 0.25 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 17.69 μs 4.29 μs 0.24 0.03 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20HelloWorld).html>) 248.61 ns 83.17 ns 0.33 0.04 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 22.08 μs 7.95 μs 0.36 0.02 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 5.37 μs 2.32 μs 0.43 0.01 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json40KB).html>) 202.33 μs 59.34 μs 0.29 0.04 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 1.90 μs 470.09 ns 0.25 0.02 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 5.29 μs 1.88 μs 0.36 0.02 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 24.91 μs 9.09 μs 0.36 0.02 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json400B).html>) 2.21 μs 639.59 ns 0.29 0.01 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 16.64 μs 5.04 μs 0.30 0.02 False
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 15.90 μs 3.43 μs 0.22 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json4KB).html>) 16.35 μs 3.66 μs 0.22 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 16.79 μs 6.73 μs 0.40 0.01 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20BroadTree).html>) 24.77 μs 8.37 μs 0.34 0.02 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 19.03 μs 4.96 μs 0.26 0.01 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 15.73 μs 6.60 μs 0.42 0.01 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 4.07 μs 1.30 μs 0.32 0.01 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 9.36 μs 2.58 μs 0.28 0.03 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 18.24 μs 5.47 μs 0.30 0.02 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 6.12 μs 2.34 μs 0.38 0.03 True
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20True%2c%20TestCase%3a%20DeepTree).html>) 9.98 μs 2.81 μs 0.28 0.02 False
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 4.52 μs 1.62 μs 0.36 0.03 True
[ReadSpanEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json40KB).html>) 152.76 μs 33.43 μs 0.22 0.01 False
[ReadReturnBytes - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact%3a%20False%2c%20TestCase%3a%20DeepTree).html>) 17.11 μs 7.06 μs 0.41 0.03 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20Json400B).html>) 2.10 μs 556.76 ns 0.26 0.03 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfNumbers).html>) 6.35 μs 2.58 μs 0.41 0.03 True
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20LotsOfStrings).html>) 4.28 μs 1.40 μs 0.33 0.02 True
[ReadSingleSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20BroadTree).html>) 16.83 μs 5.03 μs 0.30 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20False%2c%20TestCase%3a%20Json4KB).html>) 20.43 μs 5.31 μs 0.26 0.01 False
[ReadMultiSpanSequenceEmptyLoop - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact%3a%20True%2c%20TestCase%3a%20LotsOfNumbers).html>) 5.45 μs 1.98 μs 0.36 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Reader* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Reader*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Reader* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.79836108913503 < 174.23827343122292. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 266.58184795195774 (T) = (0 -50409.967023172234) / Math.Sqrt((69402514.247008 / (299)) + (91783.58660998254 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7207615260868399 = (180526.58115747024 - 50409.967023172234) / 180526.58115747024 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.44056388121546 < 166.72529698402712. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 248.2772796798413 (T) = (0 -43516.849182237784) / Math.Sqrt((79444259.74156743 / (299)) + (55026.06235629561 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7475447344858023 = (172374.4961056891 - 43516.849182237784) / 172374.4961056891 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 755.8146733650872 < 2.419768997982241. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 245.23251558927944 (T) = (0 -750.0019780121032) / Math.Sqrt((14764.473618846612 / (299)) + (28.496215085875658 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7007295091736429 = (2506.1006714733853 - 750.0019780121032) / 2506.1006714733853 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 632.5136708901111 < 2.1138386614840154. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 210.46804734093539 (T) = (0 -642.9194586966107) / Math.Sqrt((14739.20666654126 / (299)) + (83.79295268512689 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7080433185843403 = (2202.105653411248 - 642.9194586966107) / 2202.105653411248 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.400052030367235 < 145.69818117130268. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 198.6475180844605 (T) = (0 -34342.16982477416) / Math.Sqrt((80872037.13753293 / (299)) + (1037934.4995686779 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7712298357189108 = (150116.47140567697 - 34342.16982477416) / 150116.47140567697 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 539.3684406170262 < 2.0085972737010547. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 268.433097357893 (T) = (0 -537.5780889846934) / Math.Sqrt((9605.899464643015 / (299)) + (12.112835660155207 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7413092709430211 = (2078.0724958500045 - 537.5780889846934) / 2078.0724958500045 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.709333985456001 < 14.951211134608569. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 271.0892493267516 (T) = (0 -6648.134643711292) / Math.Sqrt((193403.21687815178 / (299)) + (6002.782418442141 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5688615187529468 = (15419.951901490656 - 6648.134643711292) / 15419.951901490656 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 71.45270640667192 < 213.77177769682308. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 403.72591112961817 (T) = (0 -71.9322747909354) / Math.Sqrt((39.69137171201131 / (299)) + (0.0804366577894031 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6759359123409383 = (221.96928795952618 - 71.9322747909354) / 221.96928795952618 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4089229221364223 < 8.172697787497327. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 259.98567325138725 (T) = (0 -2455.6431359156827) / Math.Sqrt((140655.79359289512 / (299)) + (1188.7044640099268 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7128240431803441 = (8551.005324787013 - 2455.6431359156827) / 8551.005324787013 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 71.92640671849365 < 217.42899361971445. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 352.1437911554794 (T) = (0 -72.20925344839729) / Math.Sqrt((43.06974701838982 / (299)) + (0.5912938697909026 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6762535108586395 = (223.042583843644 - 72.20925344839729) / 223.042583843644 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6239892506238305 < 4.204742022161399. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 263.90363047701373 (T) = (0 -1609.7119934874574) / Math.Sqrt((21854.032859469466 / (299)) + (507.81359651643737 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6289999904262893 = (4338.846231667381 - 1609.7119934874574) / 4338.846231667381 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 828.0257671166025 < 3.0417136253904333. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 307.5343393912014 (T) = (0 -837.4050911046739) / Math.Sqrt((13990.287577249674 / (299)) + (153.22590121222433 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.734943597448305 = (3159.3467769236445 - 837.4050911046739) / 3159.3467769236445 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.900401088644342 < 20.13025846589121. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 237.19794589502507 (T) = (0 -5883.199466542756) / Math.Sqrt((1113232.8201913033 / (299)) + (3100.050249287976 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7165105594062108 = (20752.79930786828 - 5883.199466542756) / 20752.79930786828 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.132478962418304 < 174.0121826435071. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 250.52898676709438 (T) = (0 -51160.56071386815) / Math.Sqrt((76942522.72529578 / (299)) + (135612.68623972478 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7165024435976095 = (180462.08709203804 - 51160.56071386815) / 180462.08709203804 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 951.6202551797683 < 3.245427953787686. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 388.48426215041763 (T) = (0 -954.2551783168369) / Math.Sqrt((8798.343411942738 / (299)) + (149.59247103623468 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7187335615364008 = (3392.709004065318 - 954.2551783168369) / 3392.709004065318 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3644156102668266 < 5.18334705561097. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 465.7350861848841 (T) = (0 -2351.063876749991) / Math.Sqrt((8853.709167365345 / (299)) + (219.75482994659873 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5685775966396267 = (5449.563718614107 - 2351.063876749991) / 5449.563718614107 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3190432867221618 < 3.77873305003509. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 227.26075392155445 (T) = (0 -1266.377683140582) / Math.Sqrt((11351.828311805606 / (299)) + (1456.9894362291366 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6759419747445452 = (3907.8732339441262 - 1266.377683140582) / 3907.8732339441262 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 61.81753818626258 < 188.0817265950851. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 365.1805757957005 (T) = (0 -61.494243502365975) / Math.Sqrt((36.23659409323645 / (299)) + (0.26141257192315265 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6885693585356087 = (197.45726757396534 - 61.494243502365975) / 197.45726757396534 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.852200724689674 < 21.259071483333848. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 279.6458928141515 (T) = (0 -7913.6055601329335) / Math.Sqrt((498699.2045725753 / (299)) + (13385.563613014416 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6413245348931282 = (22063.414785772922 - 7913.6055601329335) / 22063.414785772922 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5945508293211772 < 4.264701868655189. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 369.2686969247738 (T) = (0 -1586.4882880419382) / Math.Sqrt((8408.747417808185 / (299)) + (521.4877691470255 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6486088825831996 = (4514.878747376346 - 1586.4882880419382) / 4514.878747376346 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4862457790402033 < 14.730730333056485. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 230.65548578865352 (T) = (0 -3477.7100907869963) / Math.Sqrt((807066.9708305848 / (299)) + (143.873245060593 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7753774687697325 = (15482.463276232465 - 3477.7100907869963) / 15482.463276232465 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.0495124462018515 < 17.79032278421027. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 232.92413646526666 (T) = (0 -5053.786062798609) / Math.Sqrt((950055.9470857522 / (299)) + (2531.782407749643 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7272301648745171 = (18527.65743130542 - 5053.786062798609) / 18527.65743130542 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 131.13535805445062 < 357.1071602571869. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 424.25682770936805 (T) = (0 -130.56634807135154) / Math.Sqrt((73.18690748192562 / (299)) + (1.140837175980325 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6498609657665039 = (372.89857829527557 - 130.56634807135154) / 372.89857829527557 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 857.4163727959698 < 3.0104307599728193. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.3426139401135 (T) = (0 -864.8432452088666) / Math.Sqrt((15402.774108284424 / (299)) + (97.56809460900743 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7237899999211364 = (3131.107653459092 - 864.8432452088666) / 3131.107653459092 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.72688273616191 < 207.88234364168792. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 351.1895834855728 (T) = (0 -72.04325423661369) / Math.Sqrt((41.168873947189695 / (299)) + (0.4926216649101489 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6681073844038081 = (217.06796370627143 - 72.04325423661369) / 217.06796370627143 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 711.3920167939164 < 2.32611614841088. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 271.07482961394635 (T) = (0 -708.7003603424023) / Math.Sqrt((11761.833687519189 / (299)) + (11.452269331874314 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7077868009311348 = (2425.285245843342 - 708.7003603424023) / 2425.285245843342 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.99472679695704 < 233.35673446163193. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 339.85555231179825 (T) = (0 -82.65694541418469) / Math.Sqrt((49.42258136315847 / (299)) + (0.8303910637943381 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6588645379480811 = (242.2994810243585 - 82.65694541418469) / 242.2994810243585 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.68676292845158 < 185.14790723814232. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 291.3667999188274 (T) = (0 -52927.70956185682) / Math.Sqrt((63713112.52699317 / (299)) + (209681.2311598529 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7240016621115932 = (191768.2184856376 - 52927.70956185682) / 191768.2184856376 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.453325908639264 < 8.24031740246465. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 275.16553050794977 (T) = (0 -2418.8974491426316) / Math.Sqrt((134079.21013957539 / (299)) + (733.1382363759969 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7172586118305158 = (8555.158708114805 - 2418.8974491426316) / 8555.158708114805 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 36.62972554156909 < 152.89250739170427. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 257.6918688062808 (T) = (0 -36893.769028755276) / Math.Sqrt((64531028.514295734 / (299)) + (56665.510477204596 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7659799734696173 = (157652.1871899087 - 36893.769028755276) / 157652.1871899087 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.14761690560356 < 18.484681211927764. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 250.88878058478315 (T) = (0 -6121.400444655736) / Math.Sqrt((674871.4361074729 / (299)) + (7484.4407506024345 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6827073727774081 = (19292.60222098183 - 6121.400444655736) / 19292.60222098183 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 121.72674070280617 < 330.55631767271194. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 264.41130558350517 (T) = (0 -120.83195958723194) / Math.Sqrt((93.27980517815276 / (299)) + (6.369952804736544 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6525516846167096 = (347.7695940299357 - 120.83195958723194) / 347.7695940299357 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2244884494124393 < 3.4478006995148287. IsChangePoint: Marked as a change because one of 3/8/2023 2:17:54 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 243.7103786220833 (T) = (0 -1229.2140112087716) / Math.Sqrt((9634.677699532518 / (299)) + (830.1335788514122 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6497731880225267 = (3509.765583817823 - 1229.2140112087716) / 3509.765583817823 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 467.8745462281624 < 1.7994616548222409. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 252.8495591773507 (T) = (0 -473.5490435446324) / Math.Sqrt((8482.035828094788 / (299)) + (22.741108178721756 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7448254852973155 = (1855.7850265587301 - 473.5490435446324) / 1855.7850265587301 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.286780661090265 < 17.004938458946736. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 254.91968200407538 (T) = (0 -4241.267166409463) / Math.Sqrt((804072.8210869875 / (299)) + (1689.9508856585442 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.760851290527414 = (17734.852827611205 - 4241.267166409463) / 17734.852827611205 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: HelloWorld) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 83.16963367964412 < 235.8907643646855. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 335.88628282806263 (T) = (0 -82.63780741160284) / Math.Sqrt((63.22668087384688 / (299)) + (0.2606704335362499 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6603683155840144 = (243.31595432182033 - 82.63780741160284) / 243.31595432182033 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.948871005264052 < 20.982649081318097. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 288.7406856777212 (T) = (0 -7958.824953650889) / Math.Sqrt((563701.473736429 / (299)) + (7075.834716887077 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6394930111138449 = (22076.756343173736 - 7958.824953650889) / 22076.756343173736 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3170701434587695 < 5.117728462297768. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 328.63332081835415 (T) = (0 -2295.307416557048) / Math.Sqrt((8462.08537319394 / (299)) + (932.4608306321124 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5765932943220325 = (5421.04644488744 - 2295.307416557048) / 5421.04644488744 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 59.3382909564394 < 195.99166204427084. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 270.70311766010263 (T) = (0 -59794.789262047474) / Math.Sqrt((80187708.9468679 / (299)) + (183961.47297603803 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7056656181229662 = (203152.58068297434 - 59794.789262047474) / 203152.58068297434 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 470.0909363914465 < 1.7998876945725304. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 265.5977083739762 (T) = (0 -463.8120334277207) / Math.Sqrt((7669.948306128025 / (299)) + (14.78395903163076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.74718697353789 = (1834.6049644606976 - 463.8120334277207) / 1834.6049644606976 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8810281187886615 < 5.036680932238161. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 337.8993527393462 (T) = (0 -1916.9691973110503) / Math.Sqrt((9056.519839230896 / (299)) + (1050.7357160588406 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6384219948789353 = (5301.675351268129 - 1916.9691973110503) / 5301.675351268129 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.093091623062016 < 23.663566811002653. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 403.7507213341753 (T) = (0 -9050.612245857385) / Math.Sqrt((399372.5181562654 / (299)) + (2498.0413184584627 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6335700021338897 = (24699.430446642593 - 9050.612245857385) / 24699.430446642593 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 639.5859903939474 < 2.0916028436632157. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 254.39950663847117 (T) = (0 -640.3106871980704) / Math.Sqrt((10736.776468406988 / (299)) + (13.33559497261147 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7067546636840085 = (2183.532380232273 - 640.3106871980704) / 2183.532380232273 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.044869114671941 < 15.810639534100495. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 267.5049692952275 (T) = (0 -5053.3227613218605) / Math.Sqrt((436751.20326601644 / (299)) + (5611.970563544216 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.693958729903726 = (16511.899717747852 - 5053.3227613218605) / 16511.899717747852 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4273004859739595 < 15.030798040835661. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 241.38089564934597 (T) = (0 -3452.399523885711) / Math.Sqrt((737162.5843709845 / (299)) + (284.955907889733 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7770313288355238 = (15483.787501872841 - 3452.399523885711) / 15483.787501872841 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.664551881499727 < 15.915202891917001. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 234.76078398642588 (T) = (0 -3711.23735751474) / Math.Sqrt((839598.7510568632 / (299)) + (1316.5721297157963 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7729341430390425 = (16344.321454514684 - 3711.23735751474) / 16344.321454514684 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.734123539426523 < 16.074657119426323. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 299.14827535333023 (T) = (0 -6786.368473146533) / Math.Sqrt((209374.6345708952 / (299)) + (5180.868267584387 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5876988718516399 = (16459.737822266074 - 6786.368473146533) / 16459.737822266074 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.371946189296553 < 23.47028773771686. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 338.51862491530574 (T) = (0 -8319.810614560172) / Math.Sqrt((622271.0909519482 / (299)) + (2036.3083285984292 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6570382322103855 = (24258.711599783484 - 8319.810614560172) / 24258.711599783484 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.95579741471636 < 18.06752292512726. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 229.08253631223022 (T) = (0 -5047.426936438839) / Math.Sqrt((964722.0771162558 / (299)) + (3537.946041329832 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7275645659079237 = (18527.057441187833 - 5047.426936438839) / 18527.057441187833 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.6015932118857625 < 15.097178298178966. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 302.36480035819966 (T) = (0 -6588.512505143826) / Math.Sqrt((227205.90032557654 / (299)) + (1445.1653099693888 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5731759940844722 = (15436.133895542302 - 6588.512505143826) / 15436.133895542302 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3016602501178494 < 3.8482804989840944. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 383.08165770245625 (T) = (0 -1297.7312419012658) / Math.Sqrt((12818.639968757501 / (299)) + (63.52921003841049 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.669535735160434 = (3926.99417146144 - 1297.7312419012658) / 3926.99417146144 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5841315957220763 < 8.887226325524153. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 288.41253837117085 (T) = (0 -2620.774121676599) / Math.Sqrt((143231.0668413524 / (299)) + (961.9998513881408 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7194782964816543 = (9342.500379851017 - 2620.774121676599) / 9342.500379851017 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.46791787849762 < 17.331312516252556. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 329.97929112021933 (T) = (0 -5456.400714440345) / Math.Sqrt((421755.38579679857 / (299)) + (968.6390647669097 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6993693670940683 = (18149.84940722148 - 5456.400714440345) / 18149.84940722148 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.336344543754815 < 5.826928112163092. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 324.1203242770529 (T) = (0 -2350.7408168680486) / Math.Sqrt((22249.716415468236 / (299)) + (968.4071344217574 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6191102317113357 = (6171.709015524137 - 2350.7408168680486) / 6171.709015524137 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: True, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.807866669180702 < 9.427519061513536. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 235.74556808474216 (T) = (0 -2857.3092522424063) / Math.Sqrt((236555.69978961014 / (299)) + (1245.67316334675 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7092558563754788 = (9827.572850211738 - 2857.3092522424063) / 9827.572850211738 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6166043446702612 < 4.289923089876605. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 343.23731678366937 (T) = (0 -1607.0477042897064) / Math.Sqrt((12997.07173641097 / (299)) + (440.4198832432955 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6457319387130465 = (4536.247773654126 - 1607.0477042897064) / 4536.247773654126 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSpanEmptyLoop(IsDataCompact: True, TestCase: Json40KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.43167104289941 < 145.0788373808079. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 245.00906366312347 (T) = (0 -34743.00909586398) / Math.Sqrt((60449347.84313045 / (299)) + (292448.1072787568 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7685301537646171 = (150097.34382651997 - 34743.00909586398) / 150097.34382651997 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadReturnBytes(IsDataCompact: False, TestCase: DeepTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.058001404907282 < 16.15442720014993. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 195.195753197927 (T) = (0 -7139.169156174984) / Math.Sqrt((224047.51587482318 / (299)) + (24999.86988011585 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5733620332025162 = (16733.5532975756 - 7139.169156174984) / 16733.5532975756 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: Json400B) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 556.7647398081535 < 2.0240447493690796. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 241.46877722921442 (T) = (0 -551.1992845105104) / Math.Sqrt((11703.283529045786 / (299)) + (38.1857990879394 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7387998468603985 = (2110.256360439098 - 551.1992845105104) / 2110.256360439098 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.577245019782306 < 6.006984093759102. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 297.9903519762898 (T) = (0 -2572.793030288252) / Math.Sqrt((18773.353585034452 / (299)) + (1403.9234454765847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5915712636647285 = (6299.2458693609005 - 2572.793030288252) / 6299.2458693609005 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: LotsOfStrings) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.396850964861322 < 4.065881119903425. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 268.52350440961675 (T) = (0 -1381.348314543052) / Math.Sqrt((25487.92918209227 / (299)) + (432.270166482854 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6749136340498489 = (4249.1733250814605 - 1381.348314543052) / 4249.1733250814605 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadSingleSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: BroadTree) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.030423588492959 < 15.77763269107195. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 324.8544653914402 (T) = (0 -5000.140358884425) / Math.Sqrt((350244.8081578008 / (299)) + (1327.6640275263674 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6975269868820707 = (16530.864381395084 - 5000.140358884425) / 16530.864381395084 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: False, TestCase: Json4KB) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.310336876834914 < 19.22683355978665. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 286.0019116717752 (T) = (0 -5284.387770911435) / Math.Sqrt((763235.1646718753 / (299)) + (666.2532424842931 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7339098035927216 = (19859.385434941527 - 5284.387770911435) / 19859.385434941527 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Reader.ReadMultiSpanSequenceEmptyLoop(IsDataCompact: True, TestCase: LotsOfNumbers) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9758751454246404 < 5.03386549507373. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 417.160326108364 (T) = (0 -1900.115798282092) / Math.Sqrt((6312.180730012453 / (299)) + (676.7158201985345 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6411438538121875 = (5294.92337937453 - 1900.115798282092) / 5294.92337937453 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Globalization.Tests.Perf_DateTimeCultureInfo

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20fr).html>) 796.80 ns 269.10 ns 0.34 0.10 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20).html>) 798.05 ns 259.97 ns 0.33 0.12 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20ja).html>) 782.70 ns 260.52 ns 0.33 0.09 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring%3a%20da).html>) 801.29 ns 260.69 ns 0.33 0.15 True
[ToStringHebrewIsrael - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael.html>) 851.20 ns 249.31 ns 0.29 0.02 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20fr).html>) 337.04 ns 105.82 ns 0.31 0.01 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20).html>) 338.57 ns 106.30 ns 0.31 0.02 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20da).html>) 319.12 ns 100.19 ns 0.31 0.02 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring%3a%20ja).html>) 329.81 ns 104.55 ns 0.32 0.01 False

graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Globalization.Tests.Perf_DateTimeCultureInfo*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Globalization.Tests.Perf_DateTimeCultureInfo* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Globalization.Tests.Perf_DateTimeCultureInfo*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Globalization.Tests.Perf_DateTimeCultureInfo* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: fr) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 269.10313932071347 < 757.9851699766381. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 271.8569152335795 (T) = (0 -263.83368460144396) / Math.Sqrt((329.01826457661633 / (299)) + (41.595608766202666 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6697441149797673 = (798.8765577493966 - 263.83368460144396) / 798.8765577493966 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: ) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 259.9679243083851 < 767.1294942339944. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 497.62601972407214 (T) = (0 -259.76019056766444) / Math.Sqrt((299.0005803049339 / (299)) + (2.5807276262401437 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6746883724497656 = (798.4964832760317 - 259.76019056766444) / 798.4964832760317 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: ja) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 260.5199817928816 < 748.389232290269. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 494.2929434102362 (T) = (0 -260.65121789422534) / Math.Sqrt((317.11231484673823 / (299)) + (1.1831412206429373 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.669343885772844 = (788.2848877706273 - 260.65121789422534) / 788.2848877706273 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.Parse(culturestring: da) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 260.6915340260337 < 746.5669979035606. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 226.404987800227 (T) = (0 -262.78740697479526) / Math.Sqrt((345.8123234515676 / (299)) + (62.59797187275842 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.66544021721519 = (785.4721950959091 - 262.78740697479526) / 785.4721950959091 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToStringHebrewIsrael ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 249.3111201272407 < 806.9856627533927. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 439.0705450273718 (T) = (0 -250.31785494635196) / Math.Sqrt((576.7677539019583 / (299)) + (1.4198073861235865 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7138952486014195 = (874.9168048510569 - 250.31785494635196) / 874.9168048510569 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: fr) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 105.81551289098033 < 321.31678787923295. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 122.80815284717917 (T) = (0 -105.58613506238112) / Math.Sqrt((1515.4664816240038 / (299)) + (0.05925454401001766 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7237227297717396 = (382.1745269712046 - 105.58613506238112) / 382.1745269712046 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 106.29962406179854 < 322.4997678181624. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 121.87098997697396 (T) = (0 -105.97882204825943) / Math.Sqrt((1535.742588771963 / (299)) + (0.35029726953879703 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7231851579600339 = (382.8509384368861 - 105.97882204825943) / 382.8509384368861 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: da) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.18747940297996 < 306.1031835435071. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.67336690005075 (T) = (0 -101.60523654201765) / Math.Sqrt((1582.437172409352 / (299)) + (0.9607886590296912 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7265993990290425 = (371.63501536271616 - 101.60523654201765) / 371.63501536271616 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Globalization.Tests.Perf_DateTimeCultureInfo.ToString(culturestring: ja) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 104.54575981279852 < 314.3139274372403. IsChangePoint: Marked as a change because one of 4/9/2023 4:09:45 AM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 119.07888509083396 (T) = (0 -104.57402388687791) / Math.Sqrt((1575.4098362413233 / (299)) + (0.04104944841165907 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7233348244188907 = (377.9804367037882 - 104.57402388687791) / 377.9804367037882 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_VectorOf<Double>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).ExclusiveOrOperatorBenchmark.html>) 9.97 ns 0.03 ns 0.00 0.01 True
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).DotBenchmark.html>) 3.82 ns 0.05 ns 0.01 0.18 True
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).MultiplyBenchmark.html>) 3.10 ns 0.03 ns 0.01 0.49 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanOrEqualAnyBenchmark.html>) 3.80 ns 0.12 ns 0.03 0.19 True
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GetHashCodeBenchmark.html>) 23.85 ns 15.20 ns 0.64 0.08 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).MinBenchmark.html>) 10.99 ns 0.16 ns 0.01 0.03 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).UnaryNegateOperatorBenchmark.html>) 2.75 ns 0.00 ns 0.00 0.25 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).SubtractionOperatorBenchmark.html>) 3.11 ns 0.03 ns 0.01 0.46 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).OnesComplementBenchmark.html>) 9.03 ns 0.00 ns 0.00 0.03 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanBenchmark.html>) 11.03 ns 0.03 ns 0.00 0.02 True
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).DivideBenchmark.html>) 3.25 ns 0.03 ns 0.01 0.39 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).NegateBenchmark.html>) 2.75 ns 0.00 ns 0.00 0.25 True
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanOrEqualAnyBenchmark.html>) 2.40 ns 0.32 ns 0.13 0.46 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).BitwiseAndOperatorBenchmark.html>) 9.91 ns 0.03 ns 0.00 0.02 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).OnesComplementOperatorBenchmark.html>) 9.12 ns 0.00 ns 0.00 0.01 True
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).SquareRootBenchmark.html>) 9.55 ns 0.57 ns 0.06 0.02 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).AddOperatorBenchmark.html>) 3.10 ns 0.03 ns 0.01 0.50 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).BitwiseOrBenchmark.html>) 9.96 ns 0.03 ns 0.00 0.03 True
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).BitwiseAndBenchmark.html>) 9.93 ns 0.03 ns 0.00 0.04 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanAllBenchmark.html>) 2.00 ns 0.34 ns 0.17 0.35 True
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanOrEqualBenchmark.html>) 11.25 ns 0.03 ns 0.00 0.02 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).ZeroBenchmark.html>) 2.64 ns 0.00 ns 0.00 0.20 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).AddBenchmark.html>) 2.79 ns 0.03 ns 0.01 0.48 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).MultiplyOperatorBenchmark.html>) 2.84 ns 0.03 ns 0.01 0.46 True
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanBenchmark.html>) 11.29 ns 0.03 ns 0.00 0.02 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).EqualsBenchmark.html>) 43.48 ns 0.35 ns 0.01 0.02 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanAllBenchmark.html>) 3.25 ns 0.13 ns 0.04 0.29 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).BitwiseOrOperatorBenchmark.html>) 9.97 ns 0.03 ns 0.00 0.01 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).SubtractBenchmark.html>) 3.10 ns 0.03 ns 0.01 0.46 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).AndNotBenchmark.html>) 15.52 ns 0.03 ns 0.00 0.01 True
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).DivisionOperatorBenchmark.html>) 3.08 ns 0.03 ns 0.01 0.49 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).XorBenchmark.html>) 9.95 ns 0.03 ns 0.00 0.03 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanOrEqualBenchmark.html>) 11.46 ns 0.03 ns 0.00 0.02 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).EqualsStaticBenchmark.html>) 11.08 ns 0.03 ns 0.00 0.02 True
[OneBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).OneBenchmark.html>) 2.69 ns 0.03 ns 0.01 0.15 True
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).EqualsAnyBenchmark.html>) 3.58 ns 0.11 ns 0.03 0.34 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanOrEqualAllBenchmark.html>) 4.49 ns 0.13 ns 0.03 0.32 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).LessThanAnyBenchmark.html>) 2.34 ns 0.32 ns 0.14 0.37 True
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).MaxBenchmark.html>) 11.00 ns 0.03 ns 0.00 0.02 True
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).AbsBenchmark.html>) 8.91 ns 0.00 ns 0.00 0.03 True
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).ConditionalSelectBenchmark.html>) 28.79 ns 0.24 ns 0.01 0.00 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanOrEqualAllBenchmark.html>) 2.44 ns 0.13 ns 0.05 0.05 True
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(Double).GreaterThanAnyBenchmark.html>) 3.56 ns 0.11 ns 0.03 0.35 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf<Double>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorOf<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf<Double>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorOf<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<Double>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02710256647959359 < 9.448493324351695. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3978.3405166308917 (T) = (0 -0.02790545266800423) / Math.Sqrt((0.0018549935669365087 / (299)) + (5.780666719260849E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9972004432513223 = (9.967811040510375 - 0.02790545266800423) / 9.967811040510375 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.DotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.05047120858044326 < 3.632915143001484. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 179.28471446644494 (T) = (0 -0.094509188966217) / Math.Sqrt((0.018751770606592354 / (299)) + (0.00593747194449168 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9759742215457826 = (3.933657722945789 - 0.094509188966217) / 3.933657722945789 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026975582548255838 < 2.9402961706627817. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 209.9594330734366 (T) = (0 -0.03739574126029047) / Math.Sqrt((0.028435365390316953 / (299)) + (0.0015502029696083078 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9875144865692773 = (2.995130433985365 - 0.03739574126029047) / 2.995130433985365 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11514040855806688 < 3.6261791697693257. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 284.5318045299411 (T) = (0 -0.1068358346102263) / Math.Sqrt((0.04025396155492455 / (299)) + (0.0008774535718271789 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.973691997443503 = (4.060963365834947 - 0.1068358346102263) / 4.060963365834947 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.195491363501226 < 23.09951313629031. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 105.02709003314406 (T) = (0 -15.106796307292134) / Math.Sqrt((0.2544777990351872 / (299)) + (0.0890976467610656 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.3712849913309401 = (24.028051023105096 - 15.106796307292134) / 24.028051023105096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.15800947762527714 < 10.44635710700921. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1016.0624512089194 (T) = (0 -0.05329670656606689) / Math.Sqrt((0.001511789804661546 / (299)) + (0.001667050994566999 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9951573624931545 = (11.00571878252867 - 0.05329670656606689) / 11.00571878252867 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.6486140186182996. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 358.981598204995 (T) = (0 -0.0013820813323224337) / Math.Sqrt((0.01836688168470016 / (299)) + (2.8652232137312305E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9995164741206338 = (2.858339938566104 - 0.0013820813323224337) / 2.858339938566104 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026817879784641674 < 2.9526381947423577. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 313.5554727249888 (T) = (0 -0.028802471240076934) / Math.Sqrt((0.025881627368130683 / (299)) + (2.9817891723812967E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9903326841398369 = (2.9793659022527135 - 0.028802471240076934) / 2.9793659022527135 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 8.64348434814547. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1373.0700237737383 (T) = (0 -0.016863535744171994) / Math.Sqrt((0.009250310040303956 / (299)) + (0.00020514291890250022 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9981646281248876 = (9.188075709800543 - 0.016863535744171994) / 9.188075709800543 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027786061453400422 < 10.481094561696189. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 324.95588606016076 (T) = (0 -0.04092172602263688) / Math.Sqrt((0.3808716929057674 / (299)) + (0.0007800490034280239 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9965534262910514 = (11.873161428809073 - 0.04092172602263688) / 11.873161428809073 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.DivideBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02790788980425011 < 3.085368861084438. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 298.6947378654112 (T) = (0 -0.02765138263140627) / Math.Sqrt((0.029962295071752354 / (299)) + (6.254704741890119E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9908388493846227 = (3.0183307525795575 - 0.02765138263140627) / 3.0183307525795575 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.6129697999579107. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 131.23159461295575 (T) = (0 -0.022109377623921393) / Math.Sqrt((0.0075969821050839645 / (299)) + (0.00658902314302509 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.992244999560418 = (2.8509834133695002 - 0.022109377623921393) / 2.8509834133695002 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3188808309421916 < 2.0547196936070917. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 158.33951107411212 (T) = (0 -0.3206208508585973) / Math.Sqrt((0.05060516424069347 / (299)) + (1.204681460201904E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8655917921175899 = (2.385426127689308 - 0.3206208508585973) / 2.385426127689308 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028298939156744213 < 9.448142792175133. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3018.7567853279047 (T) = (0 -0.026001560005037883) / Math.Sqrt((0.0021896226932852365 / (299)) + (5.263376877906897E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9973897599917366 = (9.961367507479688 - 0.026001560005037883) / 9.961367507479688 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 8.666777196692953. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1579.9055407951928 (T) = (0 -0) / Math.Sqrt((0.010072138581901976 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (9.169726328718342 - 0) / 9.169726328718342 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.5710986326396668 < 9.071673996111072. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1498.685703094578 (T) = (0 -0.5713794909834717) / Math.Sqrt((0.010673814716210624 / (299)) + (6.712968064231669E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9400526524759552 = (9.531355674315549 - 0.5713794909834717) / 9.531355674315549 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026753372524259935 < 2.9501606621886833. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 217.70262888735564 (T) = (0 -0.0370920792003004) / Math.Sqrt((0.028495378002870306 / (299)) + (0.0013454612365990089 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9876284080889415 = (2.9981654314951434 - 0.0370920792003004) / 2.9981654314951434 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026751183645877953 < 9.450235215274256. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 724.5031180252079 (T) = (0 -0.03948081349040197) / Math.Sqrt((0.01529601328279971 / (299)) + (0.0020500885908882574 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9960395897356044 = (9.968869600540364 - 0.03948081349040197) / 9.968869600540364 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026465600086189287 < 9.470077741179825. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1308.268129772508 (T) = (0 -0.03546950194907871) / Math.Sqrt((0.005018560780327452 / (299)) + (0.0006121562570890277 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9964402657435703 = (9.964087034028482 - 0.03546950194907871) / 9.964087034028482 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3353772570179513 < 2.2417312294676885. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 125.48973337427861 (T) = (0 -0.3121902053551079) / Math.Sqrt((0.024051260003467644 / (299)) + (0.0018273042030531015 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8537657792821768 = (2.134864218666826 - 0.3121902053551079) / 2.134864218666826 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026287130972243417 < 10.688480550320865. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 303.62171167751694 (T) = (0 -0.0430380751011539) / Math.Sqrt((0.42639778795290534 / (299)) + (0.001666025223416748 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9963975758279799 = (11.946975993396455 - 0.0430380751011539) / 11.946975993396455 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.5074618863830076. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 338.2213996229488 (T) = (0 -0.012842893902334026) / Math.Sqrt((0.01514704698059108 / (299)) + (0.00020215654442310615 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9952809329829414 = (2.7214900436694895 - 0.012842893902334026) / 2.7214900436694895 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027505232276143012 < 2.942476364374541. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 332.60721073189075 (T) = (0 -0.027575187048971286) / Math.Sqrt((0.02346957347050637 / (299)) + (2.641181359159851E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9907300702772052 = (2.9746921361403023 - 0.027575187048971286) / 2.9746921361403023 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02800639730449862 < 2.967811589884168. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 183.1527317517089 (T) = (0 -0.034151315127412415) / Math.Sqrt((0.06801588919943967 / (299)) + (0.0005415187449997531 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9886452132692121 = (3.0076579980857523 - 0.034151315127412415) / 3.0076579980857523 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027207050010407702 < 10.741468236544101. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1653.170411537051 (T) = (0 -0.02780224996827075) / Math.Sqrt((0.013267880422701606 / (299)) + (3.6933468841088626E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9974824277876869 = (11.043278056651099 - 0.02780224996827075) / 11.043278056651099 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3539059008826092 < 41.327125159755695. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 586.5549685880602 (T) = (0 -0.41971418483523604) / Math.Sqrt((1.6175976020173675 / (299)) + (0.0064416226231741236 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9907229361691207 = (45.242136142061376 - 0.41971418483523604) / 45.242136142061376 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.12748432325292797 < 3.279046223916324. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 108.46080503369066 (T) = (0 -0.18701260591664828) / Math.Sqrt((0.016996261386312984 / (299)) + (0.011324694098404696 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9446433767203948 = (3.3783239445811426 - 0.18701260591664828) / 3.3783239445811426 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027272823644862457 < 9.45740735160211. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3795.283713225699 (T) = (0 -0.02755462959835272) / Math.Sqrt((0.0020466391702204157 / (299)) + (4.0377894622622256E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.997238075183753 = (9.976603793217926 - 0.02755462959835272) / 9.976603793217926 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02821342725794542 < 2.9385868601255227. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 338.3473693068585 (T) = (0 -0.02955451737321578) / Math.Sqrt((0.022323679163727697 / (299)) + (3.219921858595558E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9901314936775125 = (2.9948318831057197 - 0.02955451737321578) / 2.9948318831057197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026670083603094467 < 14.753957440882065. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1382.5709574785283 (T) = (0 -0.03862242768873174) / Math.Sqrt((0.002171839989062936 / (299)) + (0.0017765862519595703 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9975145846147179 = (15.539626863759768 - 0.03862242768873174) / 15.539626863759768 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026739445807561865 < 2.9345484832364823. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 339.85194694612784 (T) = (0 -0.027781351172489154) / Math.Sqrt((0.023119292075957077 / (299)) + (4.1031584849118325E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9907909011879985 = (3.0167285355092583 - 0.027781351172489154) / 3.0167285355092583 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02738124395548885 < 9.449072113772582. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 724.4820994650709 (T) = (0 -0.02882282318810026) / Math.Sqrt((0.05586210588503326 / (299)) + (2.9267485647042766E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9971128185909611 = (9.983031581550712 - 0.02882282318810026) / 9.983031581550712 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028653740875019255 < 10.88242678542127. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1014.3663748274923 (T) = (0 -0.04322692684614304) / Math.Sqrt((0.0029283544117356952 / (299)) + (0.001745268390029975 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.996220105257301 = (11.43601337831915 - 0.04322692684614304) / 11.43601337831915 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.033262838333771826 < 10.52457604714385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2620.531452287259 (T) = (0 -0.03421849029505032) / Math.Sqrt((0.0011369284795804844 / (299)) + (0.00020693478780139024 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.996896948516962 = (11.02736789321614 - 0.03421849029505032) / 11.02736789321614 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.OneBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027462369540578728 < 2.5541756837523506. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 394.10658647699427 (T) = (0 -0.00926278066632184) / Math.Sqrt((0.01038979276508669 / (299)) + (0.00018407164794387301 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9965841346621466 = (2.7116937438004127 - 0.00926278066632184) / 2.7116937438004127 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.1139964850723252 < 3.401877726861284. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 406.18377854411506 (T) = (0 -0.1131431886265581) / Math.Sqrt((0.019206082185543562 / (299)) + (3.5457911526901143E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9664715506066355 = (3.374542833733002 - 0.1131431886265581) / 3.374542833733002 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.12604477471254258 < 4.014506299698066. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 153.92545206429878 (T) = (0 -0.18043505528148054) / Math.Sqrt((0.09868077729626729 / (299)) + (0.0062473997144551615 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9588620029787743 = (4.3860923804429 - 0.18043505528148054) / 4.3860923804429 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3204209319026553 < 2.1022712191838493. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 182.2221787270372 (T) = (0 -0.3199430879150356) / Math.Sqrt((0.030516132318417506 / (299)) + (5.148097632301399E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8521476574565667 = (2.163936549203127 - 0.3199430879150356) / 2.163936549203127 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.03322438448429797 < 10.453005463643029. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5707.298723258101 (T) = (0 -0.03335663867975521) / Math.Sqrt((0.0010916544463266972 / (299)) + (8.79784817087402E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.996974702110964 = (11.02590220971078 - 0.03335663867975521) / 11.02590220971078 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 8.449311496763976. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 465.1117343801431 (T) = (0 -0.01989211018589143) / Math.Sqrt((0.005956092052328427 / (299)) + (0.005183115732215402 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9977678032408345 = (8.91145016863436 - 0.01989211018589143) / 8.91145016863436 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.24482072087558857 < 27.366080983254196. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 12822.437319171893 (T) = (0 -0.24562077189147727) / Math.Sqrt((0.0014157366608096276 / (299)) + (3.5931914435212003E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9914845448964608 = (28.844115658526864 - 0.24562077189147727) / 28.844115658526864 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.1273421494210226 < 2.3587171625433783. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 105.08881231161948 (T) = (0 -0.1923899192662742) / Math.Sqrt((0.005870083664434048 / (299)) + (0.006786936081372497 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9222897005380458 = (2.475732568248116 - 0.1923899192662742) / 2.475732568248116 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<Double>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11123480311038003 < 3.240721037310257. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 318.633483925256 (T) = (0 -0.11184200643181437) / Math.Sqrt((0.03056505588429353 / (299)) + (3.1928909375388947E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9664819614310249 = (3.3367706228292664 - 0.11184200643181437) / 3.3367706228292664 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Tests.Perf_UInt16

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.Parse(value%3a%20%2265535%22).html>) 55.82 ns 16.23 ns 0.29 0.03 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.Parse(value%3a%20%220%22).html>) 32.61 ns 12.44 ns 0.38 0.03 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.ToString(value%3a%200).html>) 5.59 ns 2.22 ns 0.40 0.23 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.TryParse(value%3a%20%2212345%22).html>) 52.88 ns 15.85 ns 0.30 0.06 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.ToString(value%3a%2065535).html>) 42.66 ns 11.13 ns 0.26 0.04 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.Parse(value%3a%20%2212345%22).html>) 54.84 ns 16.25 ns 0.30 0.03 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.ToString(value%3a%2012345).html>) 41.08 ns 11.18 ns 0.27 0.04 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.TryParse(value%3a%20%220%22).html>) 29.84 ns 12.12 ns 0.41 0.05 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt16.TryParse(value%3a%20%2265535%22).html>) 52.27 ns 16.02 ns 0.31 0.05 False

graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_UInt16*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_UInt16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_UInt16*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_UInt16* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_UInt16.Parse(value: "65535") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.22576554099125 < 53.06402197162202. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 55.425198087834296 (T) = (0 -16.409339464929147) / Math.Sqrt((66.89893833210988 / (299)) + (0.03975053106605298 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6164342739014752 = (42.78103685602544 - 16.409339464929147) / 42.78103685602544 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.Parse(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.439657978481979 < 31.084202265018526. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 97.91743728997133 (T) = (0 -12.579220538418724) / Math.Sqrt((5.130121654462511 / (299)) + (0.16117268355227019 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5652649621657141 = (28.935373143799197 - 12.579220538418724) / 28.935373143799197 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.ToString(value: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2180250092069214 < 5.240870291056291. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 122.2556986436214 (T) = (0 -2.160777843336095) / Math.Sqrt((0.07653408375375904 / (299)) + (0.007790804653999005 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6117207100231903 = (5.565009257808083 - 2.160777843336095) / 5.565009257808083 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.848999625944275 < 49.7987197771547. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 65.41453641962855 (T) = (0 -15.768472679740958) / Math.Sqrt((48.04419511312887 / (299)) + (0.04336029798030908 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6265596930284673 = (42.22488142112358 - 15.768472679740958) / 42.22488142112358 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.ToString(value: 65535) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.131137625812375 < 38.47716604175916. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 239.20173237680132 (T) = (0 -11.182118126825166) / Math.Sqrt((3.7711467124383358 / (299)) + (0.005347388253187589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7089717967976814 = (38.42279890327852 - 11.182118126825166) / 38.42279890327852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.245015943281235 < 51.77064249882633. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 56.50934190963357 (T) = (0 -16.28665821243599) / Math.Sqrt((63.93547977940664 / (299)) + (0.06321274581600408 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.618345899064712 = (42.6738718974161 - 16.28665821243599) / 42.6738718974161 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.ToString(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.177666796402683 < 38.886487956684164. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 245.783691107336 (T) = (0 -11.180252893943946) / Math.Sqrt((3.67321390168541 / (299)) + (0.0006623515407077689 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7093869381587395 = (38.47126768187334 - 11.180252893943946) / 38.47126768187334 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.TryParse(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.120351024692237 < 28.339946353395067. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 154.63151572016727 (T) = (0 -11.963967029983063) / Math.Sqrt((1.9765092656420415 / (299)) + (0.06929282403034055 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5779976178094796 = (28.350472734018165 - 11.963967029983063) / 28.350472734018165 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt16.TryParse(value: "65535") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.01820188736575 < 48.63150496981151. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 64.94154637630746 (T) = (0 -15.827241192298281) / Math.Sqrt((48.09956203341436 / (299)) + (0.03771749958663421 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6238506450812875 = (42.07701272203063 - 15.827241192298281) / 42.07701272203063 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).EqualsAnyBenchmark.html>) 6.35 ns 0.00 ns 0.00 0.47 True
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanOrEqualBenchmark.html>) 14.96 ns 0.00 ns 0.00 0.00 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).SubtractBenchmark.html>) 12.80 ns 0.00 ns 0.00 0.01 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).NegateBenchmark.html>) 12.16 ns 0.00 ns 0.00 0.01 True
[EqualsAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).EqualsAllBenchmark.html>) 3.54 ns 0.00 ns 0.00 0.17 True
[SumBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).SumBenchmark.html>) 3.97 ns 0.17 ns 0.04 0.52 False
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).EqualityOperatorBenchmark.html>) 3.71 ns 0.00 ns 0.00 0.06 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanOrEqualAllBenchmark.html>) 3.28 ns 0.21 ns 0.07 0.21 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).OnesComplementBenchmark.html>) 9.28 ns 0.03 ns 0.00 0.02 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).InequalityOperatorBenchmark.html>) 3.19 ns 0.00 ns 0.00 0.51 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).SubtractionOperatorBenchmark.html>) 12.81 ns 0.00 ns 0.00 0.01 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).MultiplyOperatorBenchmark.html>) 12.81 ns 0.01 ns 0.00 0.01 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanAllBenchmark.html>) 3.64 ns 0.21 ns 0.06 0.35 True
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).MultiplyBenchmark.html>) 12.82 ns 0.00 ns 0.00 0.00 True
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).DivideBenchmark.html>) 12.78 ns 0.00 ns 0.00 0.01 True
[AllBitsSetBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).AllBitsSetBenchmark.html>) 8.05 ns 0.00 ns 0.00 0.07 True
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).AbsBenchmark.html>) 11.51 ns 0.00 ns 0.00 0.01 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).AddOperatorBenchmark.html>) 12.89 ns 0.00 ns 0.00 0.00 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).EqualsBenchmark.html>) 23.94 ns 0.30 ns 0.01 0.20 True
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).ExclusiveOrOperatorBenchmark.html>) 10.87 ns 0.00 ns 0.00 0.02 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanAnyBenchmark.html>) 6.64 ns 0.00 ns 0.00 0.04 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanBenchmark.html>) 14.79 ns 0.00 ns 0.00 0.02 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).XorBenchmark.html>) 10.87 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanOrEqualBenchmark.html>) 15.01 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanOrEqualAllBenchmark.html>) 3.50 ns 0.19 ns 0.05 0.50 True
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).ConditionalSelectBenchmark.html>) 12.01 ns 0.00 ns 0.00 0.01 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).BitwiseOrOperatorBenchmark.html>) 10.88 ns 0.00 ns 0.00 0.01 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanAllBenchmark.html>) 3.57 ns 0.22 ns 0.06 0.05 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).MinBenchmark.html>) 14.81 ns 0.00 ns 0.00 0.01 True
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).BitwiseAndBenchmark.html>) 11.11 ns 0.00 ns 0.00 0.00 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).UnaryNegateOperatorBenchmark.html>) 12.20 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanOrEqualAnyBenchmark.html>) 6.50 ns 0.00 ns 0.00 0.04 True
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).DivisionOperatorBenchmark.html>) 12.78 ns 0.00 ns 0.00 0.00 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).AddBenchmark.html>) 12.80 ns 0.00 ns 0.00 0.01 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).AndNotBenchmark.html>) 10.88 ns 0.00 ns 0.00 0.02 True
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).LessThanOrEqualAnyBenchmark.html>) 5.72 ns 0.00 ns 0.00 0.35 True
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).SquareRootBenchmark.html>) 175.25 ns 0.03 ns 0.00 0.02 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).EqualsStaticBenchmark.html>) 14.52 ns 0.00 ns 0.00 0.01 True
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).DotBenchmark.html>) 4.56 ns 0.03 ns 0.01 0.19 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).BitwiseOrBenchmark.html>) 10.85 ns 0.00 ns 0.00 0.02 True
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanBenchmark.html>) 14.58 ns 0.00 ns 0.00 0.02 True
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GetHashCodeBenchmark.html>) 23.68 ns 8.41 ns 0.36 0.03 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).OnesComplementOperatorBenchmark.html>) 9.31 ns 0.03 ns 0.00 0.02 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).ZeroBenchmark.html>) 2.71 ns 0.00 ns 0.00 0.20 True
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).MaxBenchmark.html>) 14.58 ns 0.00 ns 0.00 0.00 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).BitwiseAndOperatorBenchmark.html>) 10.97 ns 0.00 ns 0.00 0.02 True
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Double).GreaterThanAnyBenchmark.html>) 6.29 ns 0.00 ns 0.00 0.51 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 5.75744706161753. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 188.65876926438412 (T) = (0 -0) / Math.Sqrt((0.3088578691665498 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (6.063463089812539 - 0) / 6.063463089812539 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 14.18372088527384. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3223.4719826251435 (T) = (0 -0) / Math.Sqrt((0.006487957993652478 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (15.015587197870984 - 0) / 15.015587197870984 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.14964035180338. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1302.7410291786643 (T) = (0 -0) / Math.Sqrt((0.02898777753901409 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.827143607831639 - 0) / 12.827143607831639 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.548039590299139. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3492.3110216361265 (T) = (0 -0) / Math.Sqrt((0.0036269459309898867 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.163200368701592 - 0) / 12.163200368701592 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.3613591021992533. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 421.20385418738994 (T) = (0 -0) / Math.Sqrt((0.022014146079204818 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.614162407824788 - 0) / 3.614162407824788 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SumBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.17136185000898588 < 3.240797343991228. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 98.15565525355905 (T) = (0 -0.17111030639561436) / Math.Sqrt((0.3301747899685506 / (299)) + (3.210098683594813E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9501557490847276 = (3.4328995471609254 - 0.17111030639561436) / 3.4328995471609254 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.515635207984683. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 491.4309578630234 (T) = (0 -0) / Math.Sqrt((0.01584508679896443 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.577455404406976 - 0) / 3.577455404406976 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21464601866716726 < 3.033489236303299. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 376.76181765866903 (T) = (0 -0.21418688809305267) / Math.Sqrt((0.019027277494112812 / (299)) + (8.746097700292604E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.933504706689483 = (3.221083439587997 - 0.21418688809305267) / 3.221083439587997 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027217500257897004 < 8.810564227195208. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2976.742959456797 (T) = (0 -0.027393003267880484) / Math.Sqrt((0.002880220109952685 / (299)) + (5.44023446489792E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970493229755779 = (9.28363322761323 - 0.027393003267880484) / 9.28363322761323 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.213613384697478. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 222.05402710708745 (T) = (0 -0) / Math.Sqrt((0.07000570321267192 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.3977370891516876 - 0) / 3.3977370891516876 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.163769833260885. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1201.9297794237546 (T) = (0 -0) / Math.Sqrt((0.03394368407492359 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.80627989908333 - 0) / 12.80627989908333 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.01296523671620361 < 12.169507277180108. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5309.989177307597 (T) = (0 -0.000864349114413574) / Math.Sqrt((0.001517424834020325 / (299)) + (1.1206490873812944E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9999325430856768 = (12.81335090829498 - 0.000864349114413574) / 12.81335090829498 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21403602544565814 < 3.4711942891875465. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 189.70716770410016 (T) = (0 -0.21431212564656862) / Math.Sqrt((0.0881626986822048 / (299)) + (1.2522486542244573E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9382798360254301 = (3.4723194470913947 - 0.21431212564656862) / 3.4723194470913947 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.190159529200683. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3314.4947877295153 (T) = (0 -0) / Math.Sqrt((0.004461731714468644 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.80364052697681 - 0) / 12.80364052697681 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DivideBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.136933329608578. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1488.1383372754408 (T) = (0 -0) / Math.Sqrt((0.022141108973174006 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.805820076478845 - 0) / 12.805820076478845 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AllBitsSetBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 7.645609336912945. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1300.7377922268845 (T) = (0 -0.020340462815966263) / Math.Sqrt((0.008039227729690452 / (299)) + (0.00016200551763915718 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9974592143303792 = (8.005579950788293 - 0.020340462815966263) / 8.005579950788293 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.784115786132102. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1417.46543134815 (T) = (0 -0) / Math.Sqrt((0.019120673627652258 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (11.335181445216286 - 0) / 11.335181445216286 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.158418881687554. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4624.061222656752 (T) = (0 -0) / Math.Sqrt((0.002295360675695895 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.81189733388958 - 0) / 12.81189733388958 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.30392815948945656 < 22.31931140978987. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 622.764554886237 (T) = (0 -0.3122654645660139) / Math.Sqrt((0.407294547582582 / (299)) + (0.00021447263155261395 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9866652827225058 = (23.417479206180218 - 0.3122654645660139) / 23.417479206180218 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.33627099294932. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1588.6769894272284 (T) = (0 -0) / Math.Sqrt((0.014090894952622555 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.906095585066971 - 0) / 10.906095585066971 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 6.109336332759829. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 865.6529384617296 (T) = (0 -0) / Math.Sqrt((0.017186381604504242 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (6.562970297039918 - 0) / 6.562970297039918 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 14.052435431059159. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1242.726967564176 (T) = (0 -0.010276845828592058) / Math.Sqrt((0.02674122524539519 / (299)) + (0.0007938359707812947 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.999307384228039 = (14.837730015149269 - 0.010276845828592058) / 14.837730015149269 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.319698205693209. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2065.900384621299 (T) = (0 -0.0011017718679503176) / Math.Sqrt((0.007976552986466285 / (299)) + (1.820851873510099E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998990273417377 = (10.911586234464265 - 0.0011017718679503176) / 10.911586234464265 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 14.255615321182907. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2315.4167218650864 (T) = (0 -0.004076428286827283) / Math.Sqrt((0.007742536590027718 / (299)) + (0.00023264174608703884 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.999730053673118 = (15.100884438444035 - 0.004076428286827283) / 15.100884438444035 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.1900134514753293 < 3.613741059339938. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 240.42623427886593 (T) = (0 -0.2131015782763223) / Math.Sqrt((0.06754625827812594 / (299)) + (5.2459256975185475E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9447153198119331 = (3.8546226106653005 - 0.2131015782763223) / 3.8546226106653005 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.420910742021778. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1824.0857530539643 (T) = (0 -0) / Math.Sqrt((0.013102980418286772 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.075210301576845 - 0) / 12.075210301576845 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.358301320684228. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2023.8635930274222 (T) = (0 -0) / Math.Sqrt((0.008654282251622696 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.888327407827193 - 0) / 10.888327407827193 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21556801946083326 < 3.392046345453703. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 568.4390214173361 (T) = (0 -0.21447935783545022) / Math.Sqrt((0.01047230549516066 / (299)) + (4.19766178469237E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.94008834742237 = (3.579927253008761 - 0.21447935783545022) / 3.579927253008761 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 14.07108363096052. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1147.358812502142 (T) = (0 -0) / Math.Sqrt((0.04987286363186711 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (14.818212356678867 - 0) / 14.818212356678867 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.340717875625641. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3243.2696354859854 (T) = (0 -0) / Math.Sqrt((0.0033664837484550267 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.88267659007122 - 0) / 10.88267659007122 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.57871014967459. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 499.94303556325013 (T) = (0 -0) / Math.Sqrt((0.17810417549515606 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.201745975136717 - 0) / 12.201745975136717 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 6.21466168766538. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 839.0329425690392 (T) = (0 -1.1578354709271662E-07) / Math.Sqrt((0.018721160351792138 / (299)) + (2.0108744666056978E-13 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.999999982560379 = (6.639109134591891 - 1.1578354709271662E-07) / 6.639109134591891 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.144643536533431. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3762.4893192178265 (T) = (0 -0) / Math.Sqrt((0.0034560826202223137 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.79180232769967 - 0) / 12.79180232769967 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 12.166203312233336. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 586.4941608429109 (T) = (0 -0) / Math.Sqrt((0.14282470577715767 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.818280398495487 - 0) / 12.818280398495487 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.3536375177077. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1231.4742973010405 (T) = (0 -0) / Math.Sqrt((0.023701363671296983 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.964186766145557 - 0) / 10.964186766145557 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 5.419187521348689. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 644.9106002981105 (T) = (0 -0) / Math.Sqrt((0.02468668927043446 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (5.859969378338059 - 0) / 5.859969378338059 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02714523209315571 < 166.54165170151495. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 9619.350193254882 (T) = (0 -0.027329450678117085) / Math.Sqrt((0.09933008069577 / (299)) + (7.434142190117693E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998441595161459 = (175.36810719669776 - 0.027329450678117085) / 175.36810719669776 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 13.792902033660821. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2110.1806725834695 (T) = (0 -0) / Math.Sqrt((0.01425515244662696 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (14.57034985189547 - 0) / 14.57034985189547 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.DotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.025875570097569 < 4.219620850207499. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 279.644002811765 (T) = (0 -0.026025232227460175) / Math.Sqrt((0.0775828314620305 / (299)) + (1.8245786357329444E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.994257000609565 = (4.531644609053168 - 0.026025232227460175) / 4.531644609053168 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.309094024567461. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2221.5707025755296 (T) = (0 -0) / Math.Sqrt((0.007177079493420066 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.88424786987332 - 0) / 10.88424786987332 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.0008583106214488116 < 13.824655160956635. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1948.9287701565988 (T) = (0 -5.722070809658744E-05) / Math.Sqrt((0.016741657953874015 / (299)) + (4.911314152612302E-08 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9999960764497297 = (14.583911038152443 - 5.722070809658744E-05) / 14.583911038152443 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.413669431228284 < 22.193874645619875. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 244.74679560508596 (T) = (0 -8.49565367782695) / Math.Sqrt((0.27567797185785553 / (299)) + (0.048435943252192956 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6498714147118939 = (24.26438181514438 - 8.49565367782695) / 24.26438181514438 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02815040845877301 < 8.833961789875955. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3762.9935523335016 (T) = (0 -0.027521816243526735) / Math.Sqrt((0.001805066120115275 / (299)) + (4.3531068686418097E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970392376559422 = (9.295516845099437 - 0.027521816243526735) / 9.295516845099437 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.604939824473837. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.13596492848092 (T) = (0 -0.04574246651872285) / Math.Sqrt((0.008243471993264627 / (299)) + (0.007527220627262248 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9831695582345236 = (2.717841109349397 - 0.04574246651872285) / 2.717841109349397 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 13.860923512412413. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2645.912659134435 (T) = (0 -0) / Math.Sqrt((0.0091402564011059 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (14.629150213701154 - 0) / 14.629150213701154 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.425172290938663. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1011.8691405546837 (T) = (0 -0) / Math.Sqrt((0.03471919961879534 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (10.903692857070398 - 0) / 10.903692857070398 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Double>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 5.677758808630647. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 252.9048581593446 (T) = (0 -0) / Math.Sqrt((0.16891341705708002 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (6.011095830040242 - 0) / 6.011095830040242 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Microsoft.Extensions.Primitives.StringSegmentBenchmark

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TrimEnd - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimEnd.html>) 116.40 ns 7.99 ns 0.07 0.01 True
[GetSegmentHashCode - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetSegmentHashCode.html>) 50.07 ns 9.02 ns 0.18 0.01 True
[GetValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetValue.html>) 5.24 ns 2.02 ns 0.39 0.14 True
[Equals_Valid - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid.html>) 55.50 ns 4.21 ns 0.08 0.03 True
[SubString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubString.html>) 24.49 ns 7.56 ns 0.31 0.07 True
[Indexer - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Indexer.html>) 38.23 ns 7.78 ns 0.20 0.17 True
[IndexOf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOf.html>) 17.03 ns 3.56 ns 0.21 0.02 True
[SubSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubSegment.html>) 12.21 ns 3.43 ns 0.28 0.01 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.EndsWith.html>) 34.96 ns 1.03 ns 0.03 0.05 True
[Equals_Object_Invalid - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Invalid.html>) 3.43 ns 0.00 ns 0.00 0.12 False
[TrimStart - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimStart.html>) 98.15 ns 12.98 ns 0.13 0.00 True
[IndexOfAny - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOfAny.html>) 22.52 ns 5.44 ns 0.24 0.05 True
[Ctor_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Ctor_String.html>) 9.27 ns 2.99 ns 0.32 0.02 True
[Equals_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_String.html>) 51.27 ns 1.31 ns 0.03 0.01 True
[Trim - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Trim.html>) 212.26 ns 29.03 ns 0.14 0.00 True
[LastIndexOf - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.LastIndexOf.html>) 14.36 ns 2.58 ns 0.18 0.12 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.StartsWith.html>) 34.87 ns 1.20 ns 0.03 0.02 True
[Equals_Object_Valid - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Valid.html>) 57.45 ns 4.60 ns 0.08 0.03 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Primitives.StringSegmentBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Primitives.StringSegmentBenchmark*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Primitives.StringSegmentBenchmark* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimEnd ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.992154952985177 < 110.54505671194185. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 431.96815741028485 (T) = (0 -7.983916426099813) / Math.Sqrt((18.985593129340554 / (299)) + (7.592498536218586E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9316669012644794 = (116.83820247931534 - 7.983916426099813) / 116.83820247931534 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetSegmentHashCode ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.015882971341139 < 47.52813484412398. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 472.7829877517193 (T) = (0 -9.100807556200612) / Math.Sqrt((0.01432770134938329 / (299)) + (0.11182513764065659 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8181766057695112 = (50.05300662611082 - 9.100807556200612) / 50.05300662611082 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.GetValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0193480744902543 < 4.9786974666449835. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 132.89262974476003 (T) = (0 -1.8921775468974793) / Math.Sqrt((0.07538492630659654 / (299)) + (0.004211533529081054 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6185073960394823 = (4.959932452827602 - 1.8921775468974793) / 4.959932452827602 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Valid ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.205587473679446 < 52.71886909938751. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 807.8964615919132 (T) = (0 -4.449166902462266) / Math.Sqrt((0.0922701000757589 / (299)) + (0.055627923440497405 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9200570556586419 = (55.65427867485381 - 4.449166902462266) / 55.65427867485381 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.556206204562581 < 22.711900372129453. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 290.8982544209138 (T) = (0 -7.4818429840392335) / Math.Sqrt((0.9043382407737767 / (299)) + (0.010561185907924134 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7036283566587758 = (25.244800412383228 - 7.4818429840392335) / 25.244800412383228 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Indexer ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.776414406483159 < 36.283358742684904. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 191.75345853195313 (T) = (0 -7.771424939578634) / Math.Sqrt((9.50721256041099 / (299)) + (1.8687125032700027E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.814811127781578 = (41.96485915424005 - 7.771424939578634) / 41.96485915424005 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOf ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.5582331405716188 < 16.85365346008938. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 433.9279295042249 (T) = (0 -3.584408829085009) / Math.Sqrt((0.3203728097447301 / (299)) + (0.0003412501087448597 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8001821466025429 = (17.93838122139803 - 3.584408829085009) / 17.93838122139803 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.SubSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.4345642789386037 < 11.531016237965137. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 759.9785081296493 (T) = (0 -3.4359572275910315) / Math.Sqrt((0.03787204704448093 / (299)) + (3.1290818437429143E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7150766311153246 = (12.05923277209936 - 3.4359572275910315) / 12.05923277209936 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.EndsWith ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.033686738360286 < 33.26516145267384. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1480.7418119514796 (T) = (0 -1.007061063903854) / Math.Sqrt((0.10613031693727004 / (299)) + (0.0026621134620512478 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9713693254653843 = (35.17419970969512 - 1.007061063903854) / 35.17419970969512 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Invalid ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.0011034690746401508 < 2.530857572034711. IsChangePoint: Marked as a change because one of 3/13/2023 2:14:21 PM, 4/28/2023 10:02:43 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 142.58206644278772 (T) = (0 -0.0009825686082623076) / Math.Sqrt((0.07511590391451618 / (299)) + (3.1394941351087333E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9995654289788938 = (2.2610081218972127 - 0.0009825686082623076) / 2.2610081218972127 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.TrimStart ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.98139144780472 < 93.24275818615659. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2441.7880997118077 (T) = (0 -12.988153940464084) / Math.Sqrt((0.324123122725693 / (299)) + (0.002209114779418393 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8683679542490061 = (98.67015183395053 - 12.988153940464084) / 98.67015183395053 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.IndexOfAny ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.437846433251814 < 21.424905967528073. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 225.9753027901575 (T) = (0 -5.8933659517855155) / Math.Sqrt((0.05746784577126651 / (299)) + (0.08030983070890975 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7406358992132328 = (22.722365716412963 - 5.8933659517855155) / 22.722365716412963 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Ctor_String ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.990554027283763 < 8.82393562569469. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 214.55030543549051 (T) = (0 -3.0574423678495832) / Math.Sqrt((0.0032883994256494324 / (299)) + (0.012373707063292872 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6698422722652306 = (9.26055067323993 - 3.0574423678495832) / 9.26055067323993 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_String ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3062831753504327 < 48.76848126538611. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3635.4749102969186 (T) = (0 -1.3034344399447457) / Math.Sqrt((0.05650499634483345 / (299)) + (1.8436930633245475E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9746623323854287 = (51.4425581617133 - 1.3034344399447457) / 51.4425581617133 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Trim ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.029602546638507 < 201.76410573311438. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2450.9018224552224 (T) = (0 -29.05409566841651) / Math.Sqrt((1.6476847218271382 / (299)) + (0.0015191736264629592 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8634524170666649 = (212.77634539017237 - 29.05409566841651) / 212.77634539017237 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.LastIndexOf ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5848835113202204 < 13.633000406592537. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 200.26133523436317 (T) = (0 -2.6672404172563233) / Math.Sqrt((0.18903710676583302 / (299)) + (0.04342498475407376 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8168212169447658 = (14.560858920282628 - 2.6672404172563233) / 14.560858920282628 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.StartsWith ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1985538892838226 < 33.15351176500153. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2563.4138561929035 (T) = (0 -1.1757462441850863) / Math.Sqrt((0.010265750057111852 / (299)) + (0.0020882078631207653 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.966354858140546 = (34.94549819693237 - 1.1757462441850863) / 34.94549819693237 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Primitives.StringSegmentBenchmark.Equals_Object_Valid ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.596518717507574 < 54.57496314329139. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 534.8935164545819 (T) = (0 -4.814176820602865) / Math.Sqrt((1.883550258410143 / (299)) + (0.05216540803288192 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9165715841391688 = (57.70428181968006 - 4.814176820602865) / 57.70428181968006 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Xml.Linq.Perf_XElement

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateElementsWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace.html>) 401.76 ns 88.41 ns 0.22 0.03 True
[GetElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.GetElement.html>) 167.66 ns 25.49 ns 0.15 0.12 True
[CreateElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.CreateElementWithNamespace.html>) 365.98 ns 60.13 ns 0.16 0.04 True
[GetValue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.GetValue.html>) 87.43 ns 50.62 ns 0.58 0.07 True
[GetElementWithNamespace - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.GetElementWithNamespace.html>) 345.25 ns 50.05 ns 0.14 0.03 True
[CreateElement - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.CreateElement.html>) 176.29 ns 30.07 ns 0.17 0.06 True
[CreateWithElements - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.CreateWithElements.html>) 212.61 ns 58.96 ns 0.28 0.06 True
[GetAttribute - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Linq.Perf_XElement.GetAttribute.html>) 154.55 ns 16.32 ns 0.11 0.07 True

graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Xml.Linq.Perf_XElement* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Xml.Linq.Perf_XElement*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Xml.Linq.Perf_XElement* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Xml.Linq.Perf_XElement.CreateElementsWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 88.40517890117694 < 379.4803195459195. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 755.6916975494552 (T) = (0 -88.42640848726327) / Math.Sqrt((43.98016417704615 / (299)) + (0.3700427707783681 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7806980232745382 = (403.2175624114955 - 88.42640848726327) / 403.2175624114955 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.49098873824656 < 162.97909503645027. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 408.53059214079946 (T) = (0 -24.675691044387943) / Math.Sqrt((21.808725501093054 / (299)) + (0.8888038637567576 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.857539205334174 = (173.21039870843313 - 24.675691044387943) / 173.21039870843313 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElementWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 60.13116201118652 < 347.3056312482923. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 845.4360824238087 (T) = (0 -60.527789210767715) / Math.Sqrt((29.654632549936473 / (299)) + (0.4734675930505153 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8347251258055036 = (366.2249903729363 - 60.527789210767715) / 366.2249903729363 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetValue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.6197363691343 < 83.25228418165852. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 70.06739088127974 (T) = (0 -51.231921609787804) / Math.Sqrt((9.127396507094657 / (299)) + (4.6686861684059835 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44430438976573605 = (92.19421688105476 - 51.231921609787804) / 92.19421688105476 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetElementWithNamespace ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.0468195856328 < 324.20360638042087. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 891.3998347120875 (T) = (0 -50.44662735292396) / Math.Sqrt((29.129225543822116 / (299)) + (0.18981811069429647 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8542820169123985 = (346.1935602182803 - 50.44662735292396) / 346.1935602182803 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateElement ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.074413307259686 < 167.65709085888955. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 627.8578298609641 (T) = (0 -30.31812633663558) / Math.Sqrt((14.85413566415281 / (299)) + (0.10031967612081336 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8309865769644759 = (179.3829495439729 - 30.31812633663558) / 179.3829495439729 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.CreateWithElements ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 58.956117682917565 < 203.50862781672248. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 326.14996148968237 (T) = (0 -58.14911091504535) / Math.Sqrt((20.726298436275638 / (299)) + (2.464867940011633 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.730540534941178 = (215.79910322449282 - 58.14911091504535) / 215.79910322449282 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Linq.Perf_XElement.GetAttribute ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.319442815265766 < 146.02995229556018. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 671.9242987937342 (T) = (0 -16.43748370631841) / Math.Sqrt((12.478967783923338 / (299)) + (0.024420040028326446 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8948732052720342 = (156.35865003639944 - 16.43748370631841) / 156.35865003639944 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).MaxBenchmark.html>) 31.33 ns 0.00 ns 0.00 0.01 True
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).DotBenchmark.html>) 14.98 ns 0.11 ns 0.01 0.29 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).XorBenchmark.html>) 10.87 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanOrEqualBenchmark.html>) 31.34 ns 0.03 ns 0.00 0.02 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).EqualsBenchmark.html>) 6.43 ns 0.53 ns 0.08 0.48 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).MultiplyOperatorBenchmark.html>) 27.84 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanOrEqualAnyBenchmark.html>) 3.71 ns 0.21 ns 0.06 0.54 True
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).ExclusiveOrOperatorBenchmark.html>) 10.94 ns 0.00 ns 0.00 0.00 True
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).DivideBenchmark.html>) 31.84 ns 15.88 ns 0.50 0.00 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).BitwiseOrBenchmark.html>) 10.82 ns 0.00 ns 0.00 0.02 True
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanAnyBenchmark.html>) 3.22 ns 0.00 ns 0.00 0.04 True
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).MultiplyBenchmark.html>) 28.21 ns 0.00 ns 0.00 0.01 True
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanBenchmark.html>) 29.52 ns 0.00 ns 0.00 0.01 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).SubtractBenchmark.html>) 27.80 ns 0.00 ns 0.00 0.01 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanAllBenchmark.html>) 18.94 ns 0.21 ns 0.01 0.01 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GreaterThanOrEqualAllBenchmark.html>) 19.63 ns 0.21 ns 0.01 0.01 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanBenchmark.html>) 29.89 ns 0.00 ns 0.00 0.03 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).UnaryNegateOperatorBenchmark.html>) 27.16 ns 0.03 ns 0.00 0.02 True
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).AbsBenchmark.html>) 25.70 ns 0.03 ns 0.00 0.06 True
[SumBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).SumBenchmark.html>) 8.04 ns 0.26 ns 0.03 0.13 True
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).GetHashCodeBenchmark.html>) 55.15 ns 23.25 ns 0.42 0.23 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).MinBenchmark.html>) 32.02 ns 0.00 ns 0.00 0.01 True
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanOrEqualBenchmark.html>) 31.44 ns 0.03 ns 0.00 0.03 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).OnesComplementOperatorBenchmark.html>) 9.28 ns 0.03 ns 0.00 0.02 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).OnesComplementBenchmark.html>) 9.24 ns 0.03 ns 0.00 0.05 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).AddOperatorBenchmark.html>) 27.86 ns 0.00 ns 0.00 0.01 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).NegateBenchmark.html>) 27.10 ns 0.03 ns 0.00 0.01 True
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).DivisionOperatorBenchmark.html>) 31.88 ns 16.54 ns 0.52 0.00 True
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).BitwiseAndBenchmark.html>) 10.86 ns 0.00 ns 0.00 0.01 True
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanOrEqualAnyBenchmark.html>) 18.68 ns 0.21 ns 0.01 0.02 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).AddBenchmark.html>) 27.80 ns 0.00 ns 0.00 0.01 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).BitwiseOrOperatorBenchmark.html>) 10.86 ns 0.00 ns 0.00 0.00 True
[EqualsAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).EqualsAllBenchmark.html>) 2.88 ns 0.00 ns 0.00 0.49 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).AndNotBenchmark.html>) 10.95 ns 0.00 ns 0.00 0.01 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).SubtractionOperatorBenchmark.html>) 27.84 ns 0.00 ns 0.00 0.01 True
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).EqualsAnyBenchmark.html>) 18.51 ns 0.00 ns 0.00 0.45 True
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).EqualityOperatorBenchmark.html>) 3.19 ns 0.00 ns 0.00 0.51 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanOrEqualAllBenchmark.html>) 3.38 ns 0.22 ns 0.06 0.48 True
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).ConditionalSelectBenchmark.html>) 12.04 ns 0.00 ns 0.00 0.02 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanAllBenchmark.html>) 2.84 ns 0.21 ns 0.08 0.49 True
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).SquareRootBenchmark.html>) 94.80 ns 16.39 ns 0.17 0.05 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).LessThanAnyBenchmark.html>) 18.97 ns 0.00 ns 0.00 0.49 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).ZeroBenchmark.html>) 2.89 ns 0.00 ns 0.00 0.28 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).EqualsStaticBenchmark.html>) 29.74 ns 0.23 ns 0.01 0.04 True
[AllBitsSetBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).AllBitsSetBenchmark.html>) 8.00 ns 0.03 ns 0.00 0.02 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).InequalityOperatorBenchmark.html>) 3.25 ns 0.00 ns 0.00 0.05 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(Int16).BitwiseAndOperatorBenchmark.html>) 10.89 ns 0.00 ns 0.00 0.03 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 29.718579377117226. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1974.2524585008134 (T) = (0 -0) / Math.Sqrt((0.07471809592505142 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (31.20900992802536 - 0) / 31.20900992802536 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10887448007932324 < 13.34015550521631. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 302.3089832745789 (T) = (0 -0.15791803506251872) / Math.Sqrt((0.22413702512003572 / (299)) + (0.016837479432173355 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9880710580654011 = (13.238226485493307 - 0.15791803506251872) / 13.238226485493307 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.334019598993633. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2133.219867014532 (T) = (0 -0) / Math.Sqrt((0.007799654366912633 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.895262656938373 - 0) / 10.895262656938373 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027107832046462596 < 29.779675491146328. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2193.479795895686 (T) = (0 -0.027484401617893953) / Math.Sqrt((0.061529485519580825 / (299)) + (5.148248393783712E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991273677860923 = (31.495974111268076 - 0.027484401617893953) / 31.495974111268076 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.5252432907188064 < 6.102183675110605. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 205.90056320340548 (T) = (0 -0.22951366070160778) / Math.Sqrt((0.11313236724516446 / (299)) + (0.006720138812494584 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9626715736967588 = (6.1484954880532845 - 0.22951366070160778) / 6.1484954880532845 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.446460698132146. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3700.959024355287 (T) = (0 -0) / Math.Sqrt((0.01695541034338212 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (27.869734727234732 - 0) / 27.869734727234732 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.213424772223267 < 3.5244059738960507. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 65.26254487164042 (T) = (0 -0.30273075356552925) / Math.Sqrt((0.04883043390434545 / (299)) + (0.03411618558274466 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9141179448469816 = (3.524959352988769 - 0.30273075356552925) / 3.524959352988769 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.395701502482897. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3079.3276944379204 (T) = (0 -0) / Math.Sqrt((0.0037444387852689494 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.89716887502992 - 0) / 10.89716887502992 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DivideBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.882699919582263 < 30.240783455043015. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 333.1407046422931 (T) = (0 -16.389493719758743) / Math.Sqrt((0.005395487700878829 / (299)) + (0.03192206829904049 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4849775856091083 = (31.82287462020914 - 16.389493719758743) / 31.82287462020914 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.296586598728954. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 387.2328048467487 (T) = (0 -0.03397168089769791) / Math.Sqrt((0.006742356321311946 / (299)) + (0.011449641855566224 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.99688028052544 = (10.889338344271865 - 0.03397168089769791) / 10.889338344271865 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.0981476286996. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 552.8359722056581 (T) = (0 -0.0038786588482563663) / Math.Sqrt((0.005398741993547383 / (299)) + (0.00022565991691736093 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9987820145928517 = (3.184487125619465 - 0.0038786588482563663) / 3.184487125619465 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.68917982264526. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2991.5042102249886 (T) = (0 -0) / Math.Sqrt((0.025977281638692923 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (27.883730443220852 - 0) / 27.883730443220852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 28.252637743012496. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1953.4218575701052 (T) = (0 -0) / Math.Sqrt((0.06878408244751771 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (29.628142372133553 - 0) / 29.628142372133553 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.405365836523583. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4265.665414222545 (T) = (0 -0.00433965050528684) / Math.Sqrt((0.007079180787764333 / (299)) + (0.00028248849762054493 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998439869216257 = (27.815940500023228 - 0.00433965050528684) / 27.815940500023228 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21330455291615527 < 18.002544524091316. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 748.1162274935116 (T) = (0 -0.21422939515628592) / Math.Sqrt((0.1731515511201101 / (299)) + (1.1548736148973464E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.98824110710695 = (18.218500423870946 - 0.21422939515628592) / 18.218500423870946 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21454327057325023 < 18.648608925568823. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 628.5764188908427 (T) = (0 -0.21436644361291057) / Math.Sqrt((0.2695889829885027 / (299)) + (9.139147653202157E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9887704066641695 = (19.089421780655726 - 0.21436644361291057) / 19.089421780655726 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 28.184876170514134. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1611.1574305360805 (T) = (0 -0) / Math.Sqrt((0.10036167881306225 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (29.517960219660733 - 0) / 29.517960219660733 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027495204236504818 < 25.780439540251702. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1980.9833196751686 (T) = (0 -0.0256292367420744) / Math.Sqrt((0.05509134389431258 / (299)) + (5.065040666465361E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9990563841183019 = (27.160667003561773 - 0.0256292367420744) / 27.160667003561773 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027508721744775214 < 24.914337275625545. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 905.679729964286 (T) = (0 -0.033138428243880684) / Math.Sqrt((0.24261955420712392 / (299)) + (0.00032223668012561457 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9987337904170326 = (26.171361115604803 - 0.033138428243880684) / 26.171361115604803 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SumBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2583375373084575 < 7.639153721166563. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 639.0494474826046 (T) = (0 -0.2541894012087209) / Math.Sqrt((0.04215906205383244 / (299)) + (0.00013928745148679991 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9685734843001237 = (8.08837364078898 - 0.2541894012087209) / 8.08837364078898 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.24808548730493 < 52.90018980263199. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 246.07833371186703 (T) = (0 -23.28395511607399) / Math.Sqrt((5.741339741039766 / (299)) + (0.013997392515175813 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5999451791680218 = (58.2019110972123 - 23.28395511607399) / 58.2019110972123 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 30.415278948678242. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1296.972234987597 (T) = (0 -0) / Math.Sqrt((0.18603125505895074 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (32.3510248197514 - 0) / 32.3510248197514 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027888986670867262 < 29.878826829114693. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1359.6627702330914 (T) = (0 -0.027792514404137703) / Math.Sqrt((0.1611406252654513 / (299)) + (3.791241357196619E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991202945098864 = (31.592975963521862 - 0.027792514404137703) / 31.592975963521862 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028572514088096534 < 8.819638214828846. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3245.8946024179027 (T) = (0 -0.02764422576536402) / Math.Sqrt((0.0024220587274061565 / (299)) + (6.159867877477406E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970240825865487 = (9.289312143008727 - 0.02764422576536402) / 9.289312143008727 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02870910653137961 < 8.788592929191823. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 177.41834201444067 (T) = (0 -0.1808218563406381) / Math.Sqrt((0.0015159832198836636 / (299)) + (0.03931830852100395 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9805002645007589 = (9.273041490623015 - 0.1808218563406381) / 9.273041490623015 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.4285383133881. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3381.880893994348 (T) = (0 -0.006404257351258336) / Math.Sqrt((0.007961146898312562 / (299)) + (0.0006152176833171964 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.999769798935349 = (27.82027685652176 - 0.006404257351258336) / 27.82027685652176 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027190512116539625 < 25.749221417038054. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5789.362369657014 (T) = (0 -0.027892191372020175) / Math.Sqrt((0.006550399567784274 / (299)) + (3.4262700704243565E-07 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.998972304143073 = (27.14051164458848 - 0.027892191372020175) / 27.14051164458848 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.542965899818793 < 30.26924270614429. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 478.8713675627184 (T) = (0 -16.42987448225509) / Math.Sqrt((0.004730251265071053 / (299)) + (0.015268980996911704 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48376837660573346 = (31.826555634517852 - 16.42987448225509) / 31.826555634517852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.33622645277609. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2000.4316724210394 (T) = (0 -0) / Math.Sqrt((0.008833662771071624 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.873229025790542 - 0) / 10.873229025790542 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21399986260543752 < 17.770769103077924. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 774.5600539714061 (T) = (0 -0.21092665047309117) / Math.Sqrt((0.16913691512941292 / (299)) + (0.00021825085035687592 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9888211849672559 = (18.868426559994194 - 0.21092665047309117) / 18.868426559994194 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.39372074818294. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4181.075444991529 (T) = (0 -0.005937385696063395) / Math.Sqrt((0.0032250190700495035 / (299)) + (0.0005023130132039215 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9997866255565125 = (27.826133247359635 - 0.005937385696063395) / 27.826133247359635 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.334294424798717. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2565.7566217721933 (T) = (0 -0) / Math.Sqrt((0.005380221542305341 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.883784742126924 - 0) / 10.883784742126924 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.904452964656802. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 212.8937360700966 (T) = (0 -0) / Math.Sqrt((0.06008152724888567 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.01785084414663 - 0) / 3.01785084414663 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.394687582482252. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 649.6694596975524 (T) = (0 -0) / Math.Sqrt((0.08512026908856248 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (10.961584883845303 - 0) / 10.961584883845303 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 26.438093335326403. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1596.0800478870485 (T) = (0 -0) / Math.Sqrt((0.09096916227628563 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (27.839803921270573 - 0) / 27.839803921270573 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 17.14790235932731. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 431.9390712298523 (T) = (0 -0) / Math.Sqrt((0.5037039645824823 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (17.72860567942706 - 0) / 17.72860567942706 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.8372305319274402. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 256.62789835392164 (T) = (0 -0) / Math.Sqrt((0.04049466026252113 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (2.986531866260271 - 0) / 2.986531866260271 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21510378468930633 < 3.212520679162011. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 292.13400951458766 (T) = (0 -0.21479031271835763) / Math.Sqrt((0.03172314416437682 / (299)) + (4.2779326864081626E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9333835002603608 = (3.2242809748010473 - 0.21479031271835763) / 3.2242809748010473 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.435958275940456. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1911.5994685225457 (T) = (0 -0.0025151461392641846) / Math.Sqrt((0.010053501915180474 / (299)) + (9.488940152783304E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9997918774688443 = (12.084929609973084 - 0.0025151461392641846) / 12.084929609973084 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21342450654611492 < 2.9846682065551176. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 253.96638475180214 (T) = (0 -0.21409190804907813) / Math.Sqrt((0.03573165947660889 / (299)) + (9.897301336307157E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9284252103144098 = (2.991163634423924 - 0.21409190804907813) / 2.991163634423924 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.39387941891729 < 89.87536398712243. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 532.6245449197838 (T) = (0 -16.428829343383985) / Math.Sqrt((6.566816367378171 / (299)) + (0.012056329454331815 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8302701767759034 = (96.7940049150512 - 16.428829343383985) / 96.7940049150512 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 18.008892927073934. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 451.0963165453817 (T) = (0 -0) / Math.Sqrt((0.46988137597748364 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (17.882482249033792 - 0) / 17.882482249033792 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.6172990182247418. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 349.95223787143976 (T) = (0 -0.02029207367109808) / Math.Sqrt((0.014644775056862434 / (299)) + (0.00016075431014258 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9925510101111314 = (2.7241376312540964 - 0.02029207367109808) / 2.7241376312540964 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.23346492840758123 < 27.945383775837982. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 783.1737173574435 (T) = (0 -0.05718991371321698) / Math.Sqrt((0.07535566214632594 / (299)) + (0.01742122991721971 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9980614376336071 = (29.50119877733488 - 0.05718991371321698) / 29.50119877733488 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.AllBitsSetBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028809034997341287 < 7.612710278355423. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2220.459866182954 (T) = (0 -0.02166183414261634) / Math.Sqrt((0.0013393704666626305 / (299)) + (0.0001278266088226492 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9973017268176494 = (8.028035961779524 - 0.02166183414261634) / 8.028035961779524 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.0839322010003585. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 458.1626190212102 (T) = (0 -0) / Math.Sqrt((0.014522904390666566 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.1930873383330263 - 0) / 3.1930873383330263 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<Int16>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.339893423165552. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 458.5282346818566 (T) = (0 -0.0001740672959503753) / Math.Sqrt((0.16802190707125894 / (299)) + (4.536370575999986E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.999983986542988 = (10.87006358586956 - 0.0001740672959503753) / 10.87006358586956 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.Encodings.Web.Tests.Perf_Encoders

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20UnsafeRelaxed%2cno%20(escaping%20%2f)%20required%2c512).html>) 1.54 μs 52.08 ns 0.03 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%ef%bf%bd2020%2c512).html>) 6.19 μs 62.55 ns 0.01 0.00 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20JavaScript%2cno%20escaping%20required%2c16).html>) 133.92 ns 12.90 ns 0.10 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%ef%bf%bd2020%2c16).html>) 319.06 ns 33.86 ns 0.11 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2c%26Hello%2b(World)!%2c16).html>) 354.47 ns 28.59 ns 0.08 0.01 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20UnsafeRelaxed%2cno%20(escaping%20%2f)%20required%2c16).html>) 145.56 ns 12.54 ns 0.09 0.02 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20UnsafeRelaxed%2chello%20%22there%22%2c16).html>) 139.34 ns 22.37 ns 0.16 0.02 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20UnsafeRelaxed%2chello%20%22there%22%2c16).html>) 365.95 ns 20.79 ns 0.06 0.01 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20JavaScript%2cno%20escaping%20required%2c512).html>) 1.53 μs 51.18 ns 0.03 0.02 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2cno%20escaping%20required%2c16).html>) 464.59 ns 12.01 ns 0.03 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2c%26Hello%2b(World)!%2c512).html>) 6.23 μs 57.25 ns 0.01 0.00 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20Url%2c%ef%bf%bd2020%2c16).html>) 134.98 ns 28.27 ns 0.21 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20UnsafeRelaxed%2chello%20%22there%22%2c512).html>) 6.24 μs 51.88 ns 0.01 0.01 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20Url%2c%26lorem%20ipsum%3ddolor%20sit%20amet%2c16).html>) 217.50 ns 46.78 ns 0.22 0.02 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20JavaScript%2c%26Hello%2b(World)!%2c512).html>) 1.60 μs 79.13 ns 0.05 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%26lorem%20ipsum%3ddolor%20sit%20amet%2c512).html>) 6.34 μs 67.71 ns 0.01 0.00 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20UnsafeRelaxed%2cno%20(escaping%20%2f)%20required%2c16).html>) 510.91 ns 12.50 ns 0.02 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20UnsafeRelaxed%2cno%20(escaping%20%2f)%20required%2c512).html>) 6.39 μs 42.28 ns 0.01 0.01 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20Url%2c%26lorem%20ipsum%3ddolor%20sit%20amet%2c512).html>) 1.63 μs 82.15 ns 0.05 0.01 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20JavaScript%2cno%20escaping%20required%2c512).html>) 6.34 μs 40.91 ns 0.01 0.00 True
[EncodeUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments%3a%20Url%2c%26lorem%20ipsum%3ddolor%20sit%20amet%2c16).html>) 450.71 ns 39.65 ns 0.09 0.02 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20Url%2c%ef%bf%bd2020%2c512).html>) 1.55 μs 72.93 ns 0.05 0.02 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20JavaScript%2c%26Hello%2b(World)!%2c16).html>) 187.17 ns 39.31 ns 0.21 0.01 True
[EncodeUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments%3a%20UnsafeRelaxed%2chello%20%22there%22%2c512).html>) 1.54 μs 61.15 ns 0.04 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Encodings.Web.Tests.Perf_Encoders* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Encodings.Web.Tests.Perf_Encoders* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no <escaping /> required,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.08101707733869 < 1.462663032858963. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1126.4859422140883 (T) = (0 -52.78589289032084) / Math.Sqrt((460.4820584732427 / (299)) + (1.3035509538822907 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9645649662955699 = (1489.6526790581686 - 52.78589289032084) / 1489.6526790581686 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 62.55107884943996 < 5.884331781296907. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4422.4134685133595 (T) = (0 -62.60741668159453) / Math.Sqrt((563.2697989971969 / (299)) + (0.35509224057693833 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9898538064800676 = (6170.532481821943 - 62.60741668159453) / 6170.532481821943 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.895316353789429 < 126.90440491487061. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 935.9755057576915 (T) = (0 -13.100406988888002) / Math.Sqrt((2.88661800711217 / (299)) + (0.09142305200613828 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.899660707119347 = (130.56108542114268 - 13.100406988888002) / 130.56108542114268 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,�2020,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.85896171412563 < 303.03164339013375. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 913.4382646920043 (T) = (0 -33.669573705277074) / Math.Sqrt((27.93482989699964 / (299)) + (0.06013725733280344 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8943858498883073 = (318.79794203399496 - 33.669573705277074) / 318.79794203399496 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.594295591476502 < 335.8026102185379. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1363.7626809944502 (T) = (0 -28.29697359104737) / Math.Sqrt((15.575283616360322 / (299)) + (0.04046008038453102 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9185727633632813 = (347.51238970925857 - 28.29697359104737) / 347.51238970925857 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no <escaping /> required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.541279311409271 < 135.46308533316034. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 816.1676916273674 (T) = (0 -12.636946550926917) / Math.Sqrt((3.7728267802922932 / (299)) + (0.16884618313118227 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9089204419944706 = (138.74624369784203 - 12.636946550926917) / 138.74624369784203 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.370419215249285 < 131.25958343599325. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 785.7487326205782 (T) = (0 -22.476922362965198) / Math.Sqrt((2.8332410130442907 / (299)) + (0.19976698367778298 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.840708413476473 = (141.10552134933627 - 22.476922362965198) / 141.10552134933627 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.785380336509018 < 347.84176024309573. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2333.137445633152 (T) = (0 -21.15860914456541) / Math.Sqrt((4.103574398612265 / (299)) + (0.1169675083270282 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9417823865570709 = (363.4399951022939 - 21.15860914456541) / 363.4399951022939 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.17608307174517 < 1.4556761282428492. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1115.783748598847 (T) = (0 -53.259431792306216) / Math.Sqrt((448.8870850845748 / (299)) + (2.1117012034178715 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9640882288105536 = (1483.0633529976913 - 53.259431792306216) / 1483.0633529976913 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.007392525595701 < 441.9485966328453. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3260.038198775514 (T) = (0 -12.117768176972046) / Math.Sqrt((4.238481088500407 / (299)) + (0.07414442113681917 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9738210402757774 = (462.88195958221644 - 12.117768176972046) / 462.88195958221644 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 57.247471064880386 < 5.921422280913016. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3566.09960041855 (T) = (0 -56.914162547787775) / Math.Sqrt((886.9399192177949 / (299)) + (0.09730412255255147 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9908285178651599 = (6205.5578052739575 - 56.914162547787775) / 6205.5578052739575 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,�2020,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.265589190776186 < 128.14884891744924. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 712.00193126118 (T) = (0 -28.603245642684453) / Math.Sqrt((4.915853149709092 / (299)) + (0.11631274238735183 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7947435258310274 = (139.35368303724002 - 28.603245642684453) / 139.35368303724002 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.879013795062036 < 5.933654913709196. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4448.501353051621 (T) = (0 -50.43600096079943) / Math.Sqrt((557.6143530795291 / (299)) + (0.8255157348155003 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9918840172275409 = (6214.404635252456 - 50.43600096079943) / 6214.404635252456 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 46.780882170746324 < 206.689363516702. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 249.909194892181 (T) = (0 -44.69889423862044) / Math.Sqrt((141.5664517907633 / (299)) + (2.7610748826684306 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8192867385850258 = (247.34706179629947 - 44.69889423862044) / 247.34706179629947 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.13304724913847 < 1.5194390030494254. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1272.7447112228167 (T) = (0 -80.30660185227039) / Math.Sqrt((227.7634508097343 / (299)) + (9.028052040509342 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9487364447411444 = (1566.5437452935462 - 80.30660185227039) / 1566.5437452935462 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 67.71150897806996 < 6.027072218468262. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3354.775378069094 (T) = (0 -68.39382339666497) / Math.Sqrt((1018.745031389602 / (299)) + (0.5852982525085566 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9891415835876074 = (6298.692258532953 - 68.39382339666497) / 6298.692258532953 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.496741518299208 < 485.5506923581883. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2950.5737317103967 (T) = (0 -12.75140268596711) / Math.Sqrt((4.593889088555679 / (299)) + (0.19516475832833977 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9749861374280928 = (509.7734366018323 - 12.75140268596711) / 509.7734366018323 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.276451585664056 < 6.070447858051572. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4388.447369876195 (T) = (0 -42.64648822228646) / Math.Sqrt((601.5206658270221 / (299)) + (0.9307798029602354 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9932970606411663 = (6362.356264805352 - 42.64648822228646) / 6362.356264805352 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 82.15278839218574 < 1.5454086265569829. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1941.804958938661 (T) = (0 -84.62363427344259) / Math.Sqrt((81.51351096933102 / (299)) + (5.1794119696313095 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9474723015819372 = (1611.0287871349572 - 84.62363427344259) / 1611.0287871349572 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 40.91258215480379 < 6.024331904499699. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4398.970755987364 (T) = (0 -40.92612753014171) / Math.Sqrt((602.7297892588956 / (299)) + (0.29122304251008685 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9935208292255192 = (6316.5687330445435 - 40.92612753014171) / 6316.5687330445435 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.648833309891984 < 428.51101656164326. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1282.4529601233478 (T) = (0 -39.42259446523888) / Math.Sqrt((28.783882246518644 / (299)) + (0.01707916051027252 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9103709932911959 = (439.8419207446874 - 39.42259446523888) / 439.8419207446874 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,�2020,512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.92968008597612 < 1.4681596535483192. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1290.9975515479546 (T) = (0 -70.15293179641859) / Math.Sqrt((305.04478544882886 / (299)) + (3.209313948476082 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9533670502580585 = (1504.364021247477 - 70.15293179641859) / 1504.364021247477 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,16) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.31465365196194 < 177.59832276140395. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 428.68268746030327 (T) = (0 -38.903593602622514) / Math.Sqrt((34.56539720896501 / (299)) + (0.43383618840052435 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8072876772407287 = (201.87392817230153 - 38.903593602622514) / 201.87392817230153 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 61.147960683746724 < 1.468051417890857. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1260.0759766106942 (T) = (0 -61.55274418795113) / Math.Sqrt((356.0007329731537 / (299)) + (1.7484118895420875 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.959025827785841 = (1502.2327691267155 - 61.55274418795113) / 1502.2327691267155 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_BigInteger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToStringD - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString%3a%20-2147483648).html>) 130.05 ns 52.52 ns 0.40 0.06 True
[ModPow - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ModPow(arguments%3a%2016384%2c16384%2c64%20bits).html>) 3.77 ms 2.07 ms 0.55 0.01 True
[Remainder - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Remainder(arguments%3a%201024%2c512%20bits).html>) 1.15 μs 485.71 ns 0.42 0.00 True
[Subtract - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Subtract(arguments%3a%2016%2c16%20bits).html>) 31.93 ns 8.18 ns 0.26 0.13 True
[ToStringD - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString%3a%20123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.html>) 3.61 μs 730.15 ns 0.20 0.00 True
[Divide - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Divide(arguments%3a%2065536%2c32768%20bits).html>) 6.33 ms 3.75 ms 0.59 0.01 True
[ToStringX - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString%3a%20123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678.html>) 721.12 ns 292.47 ns 0.41 0.01 True
[GreatestCommonDivisor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments%3a%2065536%2c65536%20bits).html>) 11.25 ms 5.07 ms 0.45 0.01 True
[ToStringX - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString%3a%20-2147483648).html>) 117.79 ns 50.55 ns 0.43 0.02 True
[ToByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString%3a%20123).html>) 29.79 ns 13.22 ns 0.44 0.03 True
[Multiply - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Multiply(arguments%3a%2016%2c16%20bits).html>) 32.95 ns 7.75 ns 0.24 0.16 True
[ToByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString%3a%20-2147483648).html>) 34.75 ns 14.15 ns 0.41 0.06 True
[Parse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%20123).html>) 229.01 ns 81.15 ns 0.35 0.08 True
[GreatestCommonDivisor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments%3a%2016%2c16%20bits).html>) 84.50 ns 56.48 ns 0.67 0.00 True
[Parse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012.html>) 2.93 μs 1.60 μs 0.55 0.04 True
[Multiply - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Multiply(arguments%3a%201024%2c1024%20bits).html>) 2.63 μs 776.15 ns 0.30 0.01 True
[Ctor_ByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString%3a%20123).html>) 20.62 ns 5.77 ns 0.28 0.06 True
[Ctor_ByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString%3a%20-2147483648).html>) 28.02 ns 9.96 ns 0.36 0.22 True
[ToStringD - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString%3a%20123).html>) 80.41 ns 23.65 ns 0.29 0.10 True
[ModPow - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ModPow(arguments%3a%2016%2c16%2c16%20bits).html>) 157.46 ns 131.28 ns 0.83 0.00 True
[Subtract - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Subtract(arguments%3a%201024%2c1024%20bits).html>) 186.62 ns 43.75 ns 0.23 0.01 True
[Add - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Add(arguments%3a%2065536%2c65536%20bits).html>) 8.78 μs 1.82 μs 0.21 0.00 True
[Multiply - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Multiply(arguments%3a%2065536%2c65536%20bits).html>) 2.20 ms 708.51 μs 0.32 0.01 True
[ToByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString%3a%201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456.html>) 177.38 ns 59.37 ns 0.33 0.02 True
[GreatestCommonDivisor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments%3a%201024%2c1024%20bits).html>) 11.99 μs 7.85 μs 0.65 0.00 True
[Divide - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Divide(arguments%3a%2016%2c8%20bits).html>) 22.02 ns 7.76 ns 0.35 0.01 True
[ToStringX - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString%3a%20123).html>) 107.16 ns 43.05 ns 0.40 0.04 True
[ModPow - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.ModPow(arguments%3a%201024%2c1024%2c64%20bits).html>) 220.64 μs 112.31 μs 0.51 0.02 True
[Subtract - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Subtract(arguments%3a%2065536%2c65536%20bits).html>) 8.73 μs 1.83 μs 0.21 0.00 True
[Add - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Add(arguments%3a%201024%2c1024%20bits).html>) 187.70 ns 43.15 ns 0.23 0.01 True
[Ctor_ByteArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString%3a%201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123.html>) 228.42 ns 78.63 ns 0.34 0.02 True
[Remainder - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Remainder(arguments%3a%2016%2c8%20bits).html>) 20.68 ns 7.31 ns 0.35 0.04 True
[Remainder - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Remainder(arguments%3a%2065536%2c32768%20bits).html>) 6.33 ms 3.74 ms 0.59 0.01 True
[Parse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Parse(numberString%3a%20-2147483648).html>) 327.56 ns 129.33 ns 0.39 0.01 True
[Add - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Add(arguments%3a%2016%2c16%20bits).html>) 34.04 ns 8.17 ns 0.24 0.17 True
[Divide - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BigInteger.Divide(arguments%3a%201024%2c512%20bits).html>) 1.17 μs 479.39 ns 0.41 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_BigInteger* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BigInteger*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_BigInteger* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.5150855522595 < 121.36722484082131. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 283.58288922021535 (T) = (0 -53.67146565590685) / Math.Sqrt((14.611861626002307 / (299)) + (0.32553199841127384 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5839613517943334 = (129.00596107449763 - 53.67146565590685) / 129.00596107449763 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16384,16384,64 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.073625975347222 < 3.5947463486369045. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 292.14032757008687 (T) = (0 -2076105.1349353888) / Math.Sqrt((488597673.2152432 / (299)) + (489875072.31051576 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4517624710309347 = (3786871.611725316 - 2076105.1349353888) / 3786871.611725316 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Remainder(arguments: 1024,512 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 485.7096060274467 < 1.0958298587541733. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 616.7103184843949 (T) = (0 -483.6214295080709) / Math.Sqrt((140.4502046038572 / (299)) + (10.608629133743849 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5804377869435222 = (1152.6810910470863 - 483.6214295080709) / 1152.6810910470863 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 16,16 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.18025138407951 < 31.050042786924962. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 434.60934623497815 (T) = (0 -8.245864072528441) / Math.Sqrt((0.7089490566792284 / (299)) + (0.010646196384967008 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7452534109593761 = (32.3688890343238 - 8.245864072528441) / 32.3688890343238 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 730.1533305772398 < 3.429606041559009. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1206.347863225089 (T) = (0 -731.0929235384234) / Math.Sqrt((1709.0263674751893 / (299)) + (1.7468974231479335 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7993946332053912 = (3644.4335224937317 - 731.0929235384234) / 3644.4335224937317 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 65536,32768 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7524674598214287 < 6.017213501746031. IsChangePoint: Marked as a change because one of 4/3/2023 12:37:39 PM, 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 150.26714671278924 (T) = (0 -3772702.637497558) / Math.Sqrt((62128655756.22824 / (299)) + (878455839.8365995 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3939536775180046 = (6225106.064577495 - 3772702.637497558) / 6225106.064577495 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 292.46708439621176 < 689.581920642448. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 353.5461454412554 (T) = (0 -292.6684443409778) / Math.Sqrt((83.62442240368212 / (299)) + (17.26700746724727 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5909986928799181 = (715.5684816798178 - 292.6684443409778) / 715.5684816798178 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 65536,65536 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.0655506082589286 < 10.699214145632439. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 258.27079695795993 (T) = (0 -5063759.622648428) / Math.Sqrt((183619633598.56506 / (299)) + (21627440.98141455 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5585811561580145 = (11471552.910099823 - 5063759.622648428) / 11471552.910099823 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.546825213466434 < 111.72281513452337. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 212.3671261616214 (T) = (0 -50.3934265541495) / Math.Sqrt((2.3090492694814864 / (299)) + (1.4514742624944308 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5766684859106425 = (119.0401018515063 - 50.3934265541495) / 119.0401018515063 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.22404893566393 < 28.558138617591332. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 317.87425171003736 (T) = (0 -13.28943453950136) / Math.Sqrt((0.7854611005774427 / (299)) + (0.005488172907925983 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5668277529992505 = (30.679330523865175 - 13.28943453950136) / 30.679330523865175 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 16,16 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.745030779240336 < 31.248413770162497. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 365.31819857198445 (T) = (0 -7.747935302272397) / Math.Sqrt((1.4065197213006637 / (299)) + (6.772523954490041E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7638960288191455 = (32.815777149032 - 7.747935302272397) / 32.815777149032 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.15367395763982 < 32.90196767773423. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 179.0335269551618 (T) = (0 -14.402802605095106) / Math.Sqrt((0.7005876086694794 / (299)) + (0.17071104808931353 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5928693301462383 = (35.37636358928323 - 14.402802605095106) / 35.37636358928323 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 81.15134858577063 < 218.71120505795685. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 200.35447333750255 (T) = (0 -83.65142389890576) / Math.Sqrt((73.05138972761002 / (299)) + (4.579577538544228 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6397246986114472 = (232.1875065443042 - 83.65142389890576) / 232.1875065443042 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 16,16 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 56.480974251236944 < 80.28144507824338. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 409.2113440036991 (T) = (0 -56.52587625439485) / Math.Sqrt((0.322731024335898 / (299)) + (0.056052263226009764 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3343994924136965 = (84.92462912832974 - 56.52587625439485) / 84.92462912832974 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5974357316262906 < 2.778825162011263. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 96.56012003512903 (T) = (0 -1525.122161020717) / Math.Sqrt((13075.679267332114 / (299)) + (3007.2683095410152 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.49734062761103004 = (3034.1066829656975 - 1525.122161020717) / 3034.1066829656975 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 1024,1024 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 776.1533165658383 < 2.520844081339762. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 450.7994150631422 (T) = (0 -775.8814437996015) / Math.Sqrt((5233.721456171121 / (299)) + (2.3183701474196794 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7094337342479277 = (2670.239237137141 - 775.8814437996015) / 2670.239237137141 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.770578097386035 < 19.49899540873768. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 833.3690702518027 (T) = (0 -5.781461665851771) / Math.Sqrt((0.09638531929873285 / (299)) + (5.1918700540201396E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7223678780573514 = (20.82418138577663 - 5.781461665851771) / 20.82418138577663 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.961614834032023 < 26.6107868444499. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 313.9609918908346 (T) = (0 -9.987698360690947) / Math.Sqrt((0.9713322264174961 / (299)) + (0.0021841237879640873 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6468159793076179 = (28.27902106417798 - 9.987698360690947) / 28.27902106417798 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringD(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.645826913839695 < 75.89516543108999. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 265.62439106931214 (T) = (0 -23.63698778316546) / Math.Sqrt((9.07991113497382 / (299)) + (0.17117311213264277 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6966913154038905 = (77.93046814548299 - 23.63698778316546) / 77.93046814548299 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 16,16,16 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 131.28003398954317 < 148.89433181702015. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 96.54737284102528 (T) = (0 -130.92676531016738) / Math.Sqrt((0.9400850167642315 / (299)) + (1.0208847230119376 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1644183552181094 = (156.68937455458683 - 130.92676531016738) / 156.68937455458683 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 1024,1024 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.746699033417954 < 178.0527406919917. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1325.9091964144388 (T) = (0 -43.34461866500535) / Math.Sqrt((2.0533769960277883 / (299)) + (0.07179569227363476 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7675649490822583 = (186.48056088728598 - 43.34461866500535) / 186.48056088728598 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 65536,65536 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8238536438647692 < 8.345902400336385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2015.8278118732744 (T) = (0 -1830.3022928292266) / Math.Sqrt((3060.787157383513 / (299)) + (23.71457903575188 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7910636500569621 = (8760.095087945301 - 1830.3022928292266) / 8760.095087945301 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Multiply(arguments: 65536,65536 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 708.5123498376623 < 2.094241513030134. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 519.0787381389337 (T) = (0 -708967.4473404224) / Math.Sqrt((2473399314.294825 / (299)) + (4266040.187657747 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6817009745118683 = (2227362.9215583545 - 708967.4473404224) / 2227362.9215583545 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToByteArray(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 59.37418151991577 < 166.1922974494425. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 307.9374333575615 (T) = (0 -58.76584751427391) / Math.Sqrt((2.99487084847656 / (299)) + (1.861468451708387 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6574168551697193 = (171.53747462791 - 58.76584751427391) / 171.53747462791 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.GreatestCommonDivisor(arguments: 1024,1024 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.850416224874372 < 11.394063481337708. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 813.6560840556315 (T) = (0 -7866.286453497517) / Math.Sqrt((4912.332929040021 / (299)) + (146.83947522394183 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3462484387833535 = (12032.531805902197 - 7866.286453497517) / 12032.531805902197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 16,8 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.759016455375867 < 20.744042800775414. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 865.732527141196 (T) = (0 -7.739089949095532) / Math.Sqrt((0.05110114346398084 / (299)) + (0.0014111947906453662 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6455135398722577 = (21.831835118065396 - 7.739089949095532) / 21.831835118065396 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ToStringX(numberString: 123) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.051333684179404 < 101.41362246055631. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 226.2262832248246 (T) = (0 -42.90318630051072) / Math.Sqrt((3.569509477165679 / (299)) + (0.9475525717212784 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.598050255542253 = (106.73768771364577 - 42.90318630051072) / 106.73768771364577 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.ModPow(arguments: 1024,1024,64 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 112.3080277492292 < 209.64120159404342. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 564.4709691418497 (T) = (0 -112091.04268096216) / Math.Sqrt((6955135.592112203 / (299)) + (210340.73194674114 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.492996095562636 = (221085.16660311056 - 112091.04268096216) / 221085.16660311056 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Subtract(arguments: 65536,65536 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8346183638157245 < 8.310360397335721. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1838.843068094723 (T) = (0 -1830.7933191573895) / Math.Sqrt((2875.7101362659264 / (299)) + (68.6978681873788 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7909934856332183 = (8759.503619798967 - 1830.7933191573895) / 8759.503619798967 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 1024,1024 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.15013052639252 < 177.28785303129294. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 938.3194899992892 (T) = (0 -42.915275421378816) / Math.Sqrt((2.2308521906478993 / (299)) + (0.23593755293031787 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.769031434142117 = (185.80569724706598 - 42.915275421378816) / 185.80569724706598 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Ctor_ByteArray(numberString: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 78.63267967578005 < 217.84568095904925. IsChangePoint: Marked as a change because one of 4/3/2023 12:37:39 PM, 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 156.75507559335452 (T) = (0 -79.1860102552521) / Math.Sqrt((337.68971036964575 / (299)) + (0.9225128170939823 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.683572523959836 = (250.25010863848325 - 79.1860102552521) / 250.25010863848325 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Remainder(arguments: 16,8 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.31382810032366 < 19.562230680041367. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 231.66733676454572 (T) = (0 -7.406674035605808) / Math.Sqrt((0.29021911027322783 / (299)) + (0.0351246944616694 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6428743290886861 = (20.739685323391747 - 7.406674035605808) / 20.739685323391747 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Remainder(arguments: 65536,32768 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7378836866071423 < 6.02100393438368. IsChangePoint: Marked as a change because one of 4/3/2023 12:37:39 PM, 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 137.64566896039793 (T) = (0 -3781993.267187729) / Math.Sqrt((62918362163.98671 / (299)) + (1580052198.217436 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3927367616106936 = (6227930.538359307 - 3781993.267187729) / 6227930.538359307 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Parse(numberString: -2147483648) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.3283831460192 < 313.6278046868821. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 604.3734628386525 (T) = (0 -129.97840675840658) / Math.Sqrt((21.572758896022982 / (299)) + (0.5717564571636 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6069233215678675 = (330.66934237068534 - 129.97840675840658) / 330.66934237068534 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Add(arguments: 16,16 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.17389422781893 < 31.829338306791254. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 380.6699360202939 (T) = (0 -8.230850555938256) / Math.Sqrt((1.0245295374246328 / (299)) + (0.008442049457767963 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7459239057555462 = (32.395218371151124 - 8.230850555938256) / 32.395218371151124 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BigInteger.Divide(arguments: 1024,512 bits) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 479.39291549233747 < 1.112534958931849. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 561.0040937996692 (T) = (0 -477.8116419595783) / Math.Sqrt((69.39067564693441 / (299)) + (19.206485161244732 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5908296742347948 = (1167.757317361674 - 477.8116419595783) / 1167.757317361674 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.ContainsFalse<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).List(Size%3a%20512).html>) 2.31 ms 736.56 μs 0.32 0.15 True
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).ImmutableSortedSet(Size%3a%20512).html>) 736.22 μs 366.82 μs 0.50 0.08 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).HashSet(Size%3a%20512).html>) 16.86 μs 7.45 μs 0.44 0.14 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).SortedSet(Size%3a%20512).html>) 641.06 μs 239.31 μs 0.37 0.13 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).ImmutableHashSet(Size%3a%20512).html>) 70.18 μs 32.53 μs 0.46 0.00 True
[Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).Array(Size%3a%20512).html>) 2.22 ms 635.85 μs 0.29 0.13 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).Queue(Size%3a%20512).html>) 2.23 ms 769.06 μs 0.34 0.17 True
[Span - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).Span(Size%3a%20512).html>) 1.19 ms 584.23 μs 0.49 0.10 False
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).ImmutableList(Size%3a%20512).html>) 4.99 ms 2.32 ms 0.47 0.05 True
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).LinkedList(Size%3a%20512).html>) 2.04 ms 1.17 ms 0.58 0.14 False
[ImmutableArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).ImmutableArray(Size%3a%20512).html>) 2.27 ms 694.02 μs 0.31 0.11 True
[ICollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).ICollection(Size%3a%20512).html>) 2.26 ms 660.16 μs 0.29 0.17 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsFalse(String).Stack(Size%3a%20512).html>) 2.46 ms 619.12 μs 0.25 0.21 True

graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsFalse<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsFalse<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsFalse<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsFalse<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsFalse<String>.List(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 736.5595011363636 < 2.187348387721088. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 149.24732828309868 (T) = (0 -696902.1862415619) / Math.Sqrt((10943196317.524193 / (299)) + (752313781.183632 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6660771610273873 = (2087015.6362641596 - 696902.1862415619) / 2087015.6362641596 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 366.8157735465116 < 641.527034315921. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 54.74934834596573 (T) = (0 -261063.98532511087) / Math.Sqrt((264158605.7319212 / (299)) + (880489868.5539656 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.618145303939496 = (683673.6277396621 - 261063.98532511087) / 683673.6277396621 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.453278452323828 < 16.00549158142556. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 128.98051239891475 (T) = (0 -7406.633551156691) / Math.Sqrt((923370.5025762244 / (299)) + (15867.71837952474 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5285900102768877 = (15711.660152783477 - 7406.633551156691) / 15711.660152783477 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 239.30836458333332 < 608.4771263259548. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 196.34331236907374 (T) = (0 -244585.98514811907) / Math.Sqrt((271193125.16192824 / (299)) + (48178230.49471752 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6260224763540085 = (654012.5266449036 - 244585.98514811907) / 654012.5266449036 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 32.529878439015945 < 67.11289485751121. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 516.7435061141715 (T) = (0 -32561.79420288975) / Math.Sqrt((391539.34288113913 / (299)) + (63967.26729094495 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5422947050752913 = (71141.39723519275 - 32561.79420288975) / 71141.39723519275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.Array(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 635.8542396666666 < 2.1037193732589285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 240.23466939832028 (T) = (0 -619092.0663887116) / Math.Sqrt((8578404515.856275 / (299)) + (124521498.65115272 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7023910006504784 = (2080219.5758254942 - 619092.0663887116) / 2080219.5758254942 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 769.060015079365 < 2.1503813454613097. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 122.90721463570799 (T) = (0 -738082.0053352423) / Math.Sqrt((11079311385.403477 / (299)) + (1262701009.2915745 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6470823040394381 = (2091371.4834455962 - 738082.0053352423) / 2091371.4834455962 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.Span(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 584.2322156339033 < 1.133888748761755. IsChangePoint: Marked as a change because one of 4/28/2023 10:02:43 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 127.19532183417552 (T) = (0 -585035.8829070005) / Math.Sqrt((4046033122.8765173 / (299)) + (3392931.419263411 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4464224346624853 = (1056827.2985382017 - 585035.8829070005) / 1056827.2985382017 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.324467020833333 < 4.750174432426883. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 133.388988737917 (T) = (0 -2351755.2525405264) / Math.Sqrt((41441133016.72881 / (299)) + (1942426111.995007 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4815138084862532 = (4535810.7718827715 - 2351755.2525405264) / 4535810.7718827715 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.LinkedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1733431324404762 < 1.995035218617001. IsChangePoint: Marked as a change because one of 3/25/2023 12:18:49 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 131.63534783254738 (T) = (0 -1165808.7270544101) / Math.Sqrt((11057058053.43189 / (299)) + (17664712.802131336 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41089421732795717 = (1978946.3307703089 - 1165808.7270544101) / 1978946.3307703089 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.ImmutableArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 694.0229243012424 < 2.1760101100733418. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 146.37313598282725 (T) = (0 -713357.5292482877) / Math.Sqrt((9710019904.345383 / (299)) + (841515752.4714224 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6588350255583387 = (2090945.9724455704 - 713357.5292482877) / 2090945.9724455704 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.ICollection(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 660.1574036458333 < 2.154403279355867. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 220.33541833366974 (T) = (0 -662568.49429244) / Math.Sqrt((10620882037.350769 / (299)) + (87349192.47309841 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6813533594197461 = (2079320.5071483136 - 662568.49429244) / 2079320.5071483136 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsFalse<String>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 619.1198110576923 < 2.3296015220123625. IsChangePoint: Marked as a change because one of 5/3/2023 1:06:54 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 126.03308536203102 (T) = (0 -638641.1552125403) / Math.Sqrt((19891449876.496117 / (299)) + (875388463.9383627 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6880249031816529 = (2047090.1739455182 - 638641.1552125403) / 2047090.1739455182 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Benchstone.MDBenchI.MDArray2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Benchstone.MDBenchI.MDArray2.Test.html>) 5.10 secs 1.22 secs 0.24 0.45 True

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Benchstone.MDBenchI.MDArray2*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Benchstone.MDBenchI.MDArray2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Benchstone.MDBenchI.MDArray2*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Benchstone.MDBenchI.MDArray2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Benchstone.MDBenchI.MDArray2.Test ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2211385255384615 < 4.584247263148213. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 282.6477726413004 (T) = (0 -1221251063.6081197) / Math.Sqrt((46863584036788320 / (299)) + (797284093306.8932 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7434573115498131 = (4760420462.519833 - 1221251063.6081197) / 4760420462.519833 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.CreateAddAndClear<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Array - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).Array(Size%3a%20512).html>) 2.53 μs 1.53 μs 0.60 0.06 True
[ImmutableStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableStack(Size%3a%20512).html>) 6.51 μs 3.86 μs 0.59 0.03 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableSortedDictionary(Size%3a%20512).html>) 815.40 μs 356.14 μs 0.44 0.04 True
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).List(Size%3a%20512).html>) 5.27 μs 2.23 μs 0.42 0.04 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableDictionary(Size%3a%20512).html>) 375.53 μs 264.54 μs 0.70 0.02 True
[ImmutableQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableQueue(Size%3a%20512).html>) 15.17 μs 8.09 μs 0.53 0.03 True
[ICollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ICollection(Size%3a%20512).html>) 6.65 μs 2.93 μs 0.44 0.05 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).Stack(Size%3a%20512).html>) 4.50 μs 2.13 μs 0.47 0.03 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ConcurrentDictionary(Size%3a%20512).html>) 217.29 μs 85.52 μs 0.39 0.01 True
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ConcurrentBag(Size%3a%20512).html>) 21.95 μs 14.46 μs 0.66 0.13 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).HashSet(Size%3a%20512).html>) 32.99 μs 13.45 μs 0.41 0.06 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).IDictionary(Size%3a%20512).html>) 47.24 μs 14.69 μs 0.31 0.01 True
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).LinkedList(Size%3a%20512).html>) 11.02 μs 7.67 μs 0.70 0.03 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableHashSet(Size%3a%20512).html>) 351.21 μs 227.27 μs 0.65 0.03 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).SortedList(Size%3a%20512).html>) 615.95 μs 269.34 μs 0.44 0.06 True
[Span - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).Span(Size%3a%20512).html>) 1.71 μs 1.28 μs 0.75 0.04 False
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableSortedSet(Size%3a%20512).html>) 776.85 μs 341.41 μs 0.44 0.08 True
[ImmutableArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableArray(Size%3a%20512).html>) 184.54 μs 71.16 μs 0.39 0.04 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).Dictionary(Size%3a%20512).html>) 46.37 μs 13.61 μs 0.29 0.01 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).Queue(Size%3a%20512).html>) 5.77 μs 2.45 μs 0.42 0.03 True
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ConcurrentQueue(Size%3a%20512).html>) 13.41 μs 6.17 μs 0.46 0.00 True
[ImmutableList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ImmutableList(Size%3a%20512).html>) 188.62 μs 86.90 μs 0.46 0.00 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).SortedSet(Size%3a%20512).html>) 600.87 μs 240.43 μs 0.40 0.11 True
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).ConcurrentStack(Size%3a%20512).html>) 8.53 μs 7.55 μs 0.88 0.01 False
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CreateAddAndClear(String).SortedDictionary(Size%3a%20512).html>) 606.94 μs 255.24 μs 0.42 0.14 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CreateAddAndClear<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CreateAddAndClear<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CreateAddAndClear<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CreateAddAndClear<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CreateAddAndClear<String>.Array(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5262634238807875 < 2.338599868801961. IsChangePoint: Marked as a change because one of 4/20/2023 12:36:45 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 72.99447679347753 (T) = (0 -1475.1563565273063) / Math.Sqrt((15139.993419333648 / (299)) + (3165.1045348096195 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44456726307968236 = (2655.868584027902 - 1475.1563565273063) / 2655.868584027902 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.8619923529237794 < 6.371313079006493. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 108.82529469464609 (T) = (0 -3888.7792818815647) / Math.Sqrt((19090.960308219623 / (299)) + (7641.992233749384 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.40121895843586663 = (6494.492998180623 - 3888.7792818815647) / 6494.492998180623 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 356.13717341382574 < 773.862717514881. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 266.1903605573438 (T) = (0 -357490.41546896973) / Math.Sqrt((201970961.63767964 / (299)) + (34313542.03437518 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5617368572288007 = (815698.1059564071 - 357490.41546896973) / 815698.1059564071 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.List(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2305956252090207 < 5.0309814900357575. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 225.66942119191955 (T) = (0 -2179.5156872448597) / Math.Sqrt((38010.476575613844 / (299)) + (1166.9761318255332 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5971327137952119 = (5410.009106912083 - 2179.5156872448597) / 5410.009106912083 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 264.5397674788136 < 358.9077629357993. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 166.3805116988134 (T) = (0 -262918.9546525937) / Math.Sqrt((46485176.45043372 / (299)) + (4913297.612367177 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.30546338349151014 = (378553.0501967132 - 262918.9546525937) / 378553.0501967132 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.087474599673806 < 14.288178511470452. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 76.41217263131801 (T) = (0 -8176.160849132119) / Math.Sqrt((122958.56818877529 / (299)) + (114478.00805709501 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.455976529523498 = (15029.059025653329 - 8176.160849132119) / 15029.059025653329 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ICollection(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.927043247994318 < 6.208540806189945. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 134.5262308569708 (T) = (0 -2933.9410766506267) / Math.Sqrt((57134.76873402555 / (299)) + (6107.510959571211 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5286348039899189 = (6224.34813067505 - 2933.9410766506267) / 6224.34813067505 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.127480827871837 < 4.282194508710791. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 100.40229380366583 (T) = (0 -2186.1409533067435) / Math.Sqrt((7046.462662267561 / (299)) + (8210.305012590756 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5232125101265963 = (4585.147470809702 - 2186.1409533067435) / 4585.147470809702 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 85.52119919610509 < 208.06820165168236. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 867.3875810939878 (T) = (0 -85046.78378368773) / Math.Sqrt((3925157.366332114 / (299)) + (154413.72846161432 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6095073282597846 = (217793.54630313555 - 85046.78378368773) / 217793.54630313555 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ConcurrentBag(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.461029173543343 < 20.105485110434827. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 52.26676857775508 (T) = (0 -14515.92359468943) / Math.Sqrt((314891.5314407556 / (299)) + (239346.14559931753 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3195424378234326 = (21332.59206975025 - 14515.92359468943) / 21332.59206975025 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.453444472569956 < 31.362073299674385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 337.4410402797913 (T) = (0 -13361.148533312667) / Math.Sqrt((845830.5659742983 / (299)) + (4453.076114624551 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5854038402699477 = (32226.898922585886 - 13361.148533312667) / 32226.898922585886 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.687629539391086 < 44.8361306169016. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 559.5776696103463 (T) = (0 -14762.214153124047) / Math.Sqrt((567801.5463002229 / (299)) + (18915.10825270994 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6805979997462163 = (46218.2896205866 - 14762.214153124047) / 46218.2896205866 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.LinkedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.668344431620209 < 10.4281633234092. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 69.8577317415488 (T) = (0 -7752.189306800904) / Math.Sqrt((57811.65391584067 / (299)) + (34803.7310425372 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.31119587204653487 = (11254.56278816702 - 7752.189306800904) / 11254.56278816702 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 227.26812901570045 < 328.3493733402777. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 166.85250625465653 (T) = (0 -224158.67215392698) / Math.Sqrt((25454074.418345146 / (299)) + (6384184.176817721 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.35382246491581953 = (346899.5128788017 - 224158.67215392698) / 346899.5128788017 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 269.3383438283208 < 578.0929121053686. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 241.19997346979895 (T) = (0 -269523.8140668211) / Math.Sqrt((180311027.2069834 / (299)) + (22568159.75896755 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5650645577810829 = (619686.9417948263 - 269523.8140668211) / 619686.9417948263 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.Span(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2778234691212746 < 1.610395609501574. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/13/2023 12:04:12 PM, 3/29/2023 11:36:35 PM, 4/1/2023 8:54:51 PM, 4/20/2023 12:36:45 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 24.511042928862263 (T) = (0 -1198.2996635194577) / Math.Sqrt((11911.325857160436 / (299)) + (2522.854689163201 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.22781329759802363 = (1551.826339137941 - 1198.2996635194577) / 1551.826339137941 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 341.40987259615395 < 750.1276978203124. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 336.20218990202443 (T) = (0 -340068.83486277267) / Math.Sqrt((242310575.5209181 / (299)) + (15976044.610556012 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5751745309742105 = (800490.6947848938 - 340068.83486277267) / 800490.6947848938 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 71.1609321292049 < 175.4264775997899. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 411.3415727052539 (T) = (0 -71765.3143982614) / Math.Sqrt((8175441.543918184 / (299)) + (762683.6757012468 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.615787074931678 = (186785.26857340848 - 71765.3143982614) / 186785.26857340848 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.61196906887755 < 43.719749202829014. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 488.23118839340475 (T) = (0 -13832.133098010107) / Math.Sqrt((737312.0606004611 / (299)) + (24604.84015769518 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6934231682317588 = (45117.99870274149 - 13832.133098010107) / 45117.99870274149 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.448097209156475 < 5.461730320942744. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.33719436557908 (T) = (0 -2593.562716172856) / Math.Sqrt((9051.559791941223 / (299)) + (9922.457123823267 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5494298552228672 = (5756.179689747798 - 2593.562716172856) / 5756.179689747798 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ConcurrentQueue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.172988338020675 < 12.799850870474309. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 614.4514878179174 (T) = (0 -6118.695641771943) / Math.Sqrt((7132.644171992208 / (299)) + (1842.218853116385 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5487736427789371 = (13560.146795180004 - 6118.695641771943) / 13560.146795180004 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ImmutableList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 86.89628589221016 < 178.21045037519215. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 334.17375718063147 (T) = (0 -87893.26173684327) / Math.Sqrt((3144161.2343308553 / (299)) + (1135253.670894055 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5274699528610285 = (186005.65671751616 - 87893.26173684327) / 186005.65671751616 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 240.43497781065088 < 567.5091840275871. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 209.46184444513867 (T) = (0 -240796.93860218188) / Math.Sqrt((236571841.73041216 / (299)) + (33409652.562667165 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6018000486524023 = (604713.6313986758 - 240796.93860218188) / 604713.6313986758 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.ConcurrentStack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.546102968966713 < 8.103912468760939. IsChangePoint: Marked as a change because one of 5/7/2023 5:11:33 AM, 5/8/2023 5:45:34 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 44.15230078384902 (T) = (0 -7503.846084421236) / Math.Sqrt((112552.35835396741 / (299)) + (2246.5435866415405 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1189211624392545 = (8516.656812681518 - 7503.846084421236) / 8516.656812681518 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CreateAddAndClear<String>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 255.23936980386418 < 576.6233897850407. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 297.51830356564204 (T) = (0 -251093.22525477322) / Math.Sqrt((367297397.1725959 / (299)) + (4808930.231711222 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5959121615184938 = (621382.7820167494 - 251093.22525477322) / 621382.7820167494 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Memory.Constructors<Byte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SpanImplicitCastFromArraySegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).SpanImplicitCastFromArraySegment.html>) 11.21 ns 1.13 ns 0.10 0.02 True
[MemoryFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).MemoryFromArray.html>) 9.28 ns 2.99 ns 0.32 0.01 True
[ReadOnlySpanFromMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanFromMemory.html>) 9.69 ns 0.95 ns 0.10 0.02 True
[MemoryMarshalCreateReadOnlySpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).MemoryMarshalCreateReadOnlySpan.html>) 7.90 ns 0.00 ns 0.00 0.05 True
[ArrayAsSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ArrayAsSpan.html>) 8.19 ns 0.19 ns 0.02 0.03 True
[ReadOnlyMemoryFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlyMemoryFromArray.html>) 9.02 ns 2.99 ns 0.33 0.02 True
[ArrayAsSpanStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ArrayAsSpanStartLength.html>) 8.47 ns 0.01 ns 0.00 0.03 True
[ReadOnlySpanFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanFromArray.html>) 8.16 ns 0.19 ns 0.02 0.03 True
[SpanFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).SpanFromArray.html>) 8.15 ns 0.19 ns 0.02 0.02 True
[ReadOnlySpanImplicitCastFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanImplicitCastFromArray.html>) 8.17 ns 0.01 ns 0.00 0.03 True
[ReadOnlySpanImplicitCastFromSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanImplicitCastFromSpan.html>) 8.17 ns 0.00 ns 0.00 0.04 True
[ReadOnlySpanFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanFromArrayStartLength.html>) 8.51 ns 0.19 ns 0.02 0.03 True
[ArrayAsMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ArrayAsMemory.html>) 9.12 ns 2.98 ns 0.33 0.01 True
[MemoryFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).MemoryFromArrayStartLength.html>) 9.56 ns 3.00 ns 0.31 0.01 True
[ArrayAsMemoryStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ArrayAsMemoryStartLength.html>) 11.05 ns 2.99 ns 0.27 0.01 True
[SpanFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).SpanFromArrayStartLength.html>) 8.49 ns 0.19 ns 0.02 0.01 True
[SpanImplicitCastFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).SpanImplicitCastFromArray.html>) 8.15 ns 0.23 ns 0.03 0.03 True
[ReadOnlyMemoryFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlyMemoryFromArrayStartLength.html>) 9.57 ns 3.00 ns 0.31 0.02 True
[MemoryMarshalCreateSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).MemoryMarshalCreateSpan.html>) 8.06 ns 0.01 ns 0.00 0.03 True
[SpanFromMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).SpanFromMemory.html>) 9.71 ns 1.03 ns 0.11 0.03 True
[ReadOnlySpanImplicitCastFromArraySegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(Byte).ReadOnlySpanImplicitCastFromArraySegment.html>) 11.26 ns 1.13 ns 0.10 0.05 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Constructors<Byte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Constructors<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Constructors<Byte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Constructors<Byte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Constructors<Byte>.SpanImplicitCastFromArraySegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.133146440460151 < 10.680963603474519. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 898.4925485922618 (T) = (0 -1.1505950032490067) / Math.Sqrt((0.005718118572829166 / (299)) + (0.001599019598862573 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8974985176148005 = (11.22515476337292 - 1.1505950032490067) / 11.22515476337292 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.MemoryFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.990060206614108 < 8.674533205361756. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1319.0361763319152 (T) = (0 -2.9847008852995613) / Math.Sqrt((0.005565465429909314 / (299)) + (4.147180350858302E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6724285163706497 = (9.11160169447709 - 2.9847008852995613) / 9.11160169447709 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanFromMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9518038082328587 < 9.222878120243035. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 226.24172193514732 (T) = (0 -0.9411453167542876) / Math.Sqrt((0.012138142582298962 / (299)) + (0.020814212745471957 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9037969002062447 = (9.782900122469638 - 0.9411453167542876) / 9.782900122469638 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.MemoryMarshalCreateReadOnlySpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 7.503183369312548. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1374.1751731172646 (T) = (0 -0.005711005074360675) / Math.Sqrt((0.008879966585618185 / (299)) + (5.258656873155977E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9992792944887174 = (7.924186765545118 - 0.005711005074360675) / 7.924186765545118 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ArrayAsSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.19023966731570421 < 7.7778834449270375. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1129.3627514416528 (T) = (0 -0.21509172868186227) / Math.Sqrt((0.006116797717593662 / (299)) + (0.00043338443144969507 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9736044896734501 = (8.148799777722529 - 0.21509172868186227) / 8.148799777722529 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlyMemoryFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.989965183027349 < 8.647811698993584. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1081.0496794698108 (T) = (0 -2.985088889012944) / Math.Sqrt((0.008659861082320872 / (299)) + (4.870161238683671E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6727025805573904 = (9.120416818735011 - 2.985088889012944) / 9.120416818735011 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ArrayAsSpanStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.013232884390655035 < 8.059744687158215. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 345.62097969441254 (T) = (0 -0.10830894614354204) / Math.Sqrt((0.00886631265572435 / (299)) + (0.00838464589023675 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9872482568742226 = (8.49365808856336 - 0.10830894614354204) / 8.49365808856336 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.19090725791190555 < 7.6782946575856394. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 413.1094476175694 (T) = (0 -0.15551808119508587) / Math.Sqrt((0.0045284866588474115 / (299)) + (0.005370008415827418 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9808841297577112 = (8.13554806681225 - 0.15551808119508587) / 8.13554806681225 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.SpanFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.19040846183592822 < 7.781549309467086. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 665.8352033920494 (T) = (0 -0.22031536717429068) / Math.Sqrt((0.007331531710713125 / (299)) + (0.001764526215688799 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9729972380842395 = (8.15899380447083 - 0.22031536717429068) / 8.15899380447083 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanImplicitCastFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.014218709936082149 < 7.720980127720163. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 422.32127964875633 (T) = (0 -0.04932793865203075) / Math.Sqrt((0.003322175740237443 / (299)) + (0.005310907059922605 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9939248756952127 = (8.119659150539476 - 0.04932793865203075) / 8.119659150539476 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanImplicitCastFromSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 7.742151366521433. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2216.5880869990847 (T) = (0 -0.0028587251185233763) / Math.Sqrt((0.0033422065625260734 / (299)) + (3.503251742031445E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996492869296867 = (8.151179298704236 - 0.0028587251185233763) / 8.151179298704236 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.19109103826181023 < 8.051881696678386. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 425.1249275644396 (T) = (0 -0.15545910167517957) / Math.Sqrt((0.00809397414236917 / (299)) + (0.005364214683107856 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.981696898811588 = (8.493593521386545 - 0.15545910167517957) / 8.493593521386545 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ArrayAsMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.981829677841432 < 8.684110646202477. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1351.6882586738068 (T) = (0 -2.98308573988868) / Math.Sqrt((0.0051343055586670835 / (299)) + (5.175486482150797E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6729533728748817 = (9.121285750938016 - 2.98308573988868) / 9.121285750938016 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.MemoryFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0017987996542645 < 9.0601909116113. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 168.59151803248636 (T) = (0 -2.964060902408085) / Math.Sqrt((0.0369761727832811 / (299)) + (0.020998991433027022 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6894562512702576 = (9.544745030393848 - 2.964060902408085) / 9.544745030393848 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ArrayAsMemoryStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.9911522417150636 < 10.531738375889203. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1343.6885085881759 (T) = (0 -2.999232667879333) / Math.Sqrt((0.010196540605475193 / (299)) + (3.8055413812204806E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7305905654084556 = (11.132619287912147 - 2.999232667879333) / 11.132619287912147 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.SpanFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.18933821487063024 < 8.024669357870385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 656.8779547222192 (T) = (0 -0.17891780727680143) / Math.Sqrt((0.0069120369942082946 / (299)) + (0.002056421633679839 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9789343441982251 = (8.493341435006597 - 0.17891780727680143) / 8.493341435006597 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.SpanImplicitCastFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2324902042817563 < 7.774170996222095. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1099.0954130562222 (T) = (0 -0.22115710849382858) / Math.Sqrt((0.009118734471689607 / (299)) + (0.00032249774765271923 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9728529675042004 = (8.146640282986642 - 0.22115710849382858) / 8.146640282986642 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlyMemoryFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0049168597686364 < 9.045167755025332. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1183.2898256416981 (T) = (0 -2.9999212131391912) / Math.Sqrt((0.008112286449021079 / (299)) + (4.918367052688162E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6850554674290847 = (9.525236677870273 - 2.9999212131391912) / 9.525236677870273 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.MemoryMarshalCreateSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.014325564747656467 < 7.509377733406346. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2252.751587666926 (T) = (0 -0.004674074502676018) / Math.Sqrt((0.0027749825629924374 / (299)) + (4.6957629791029296E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9994114051304798 = (7.941072450198487 - 0.004674074502676018) / 7.941072450198487 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.SpanFromMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0279411550573674 < 9.27807651684659. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 313.4744426831159 (T) = (0 -0.8986044579505604) / Math.Sqrt((0.015349447716977691 / (299)) + (0.011358548133237122 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9084213413252358 = (9.812378461906684 - 0.8986044579505604) / 9.812378461906684 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<Byte>.ReadOnlySpanImplicitCastFromArraySegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.133539078726405 < 10.70215770056179. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 850.1236462108824 (T) = (0 -1.1713686270852708) / Math.Sqrt((0.008735211312697744 / (299)) + (0.0016620816073216076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8957012003068188 = (11.230892690338896 - 1.1713686270852708) / 11.230892690338896 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_BitOperations

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[LeadingZeroCount_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong.html>) 745.89 ns 372.62 ns 0.50 0.01 False
[TrailingZeroCount_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_uint.html>) 7.72 μs 372.32 ns 0.05 0.00 True
[Log2_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.Log2_uint.html>) 1.54 μs 483.16 ns 0.31 0.03 False
[PopCount_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.PopCount_ulong.html>) 1.10 μs 318.39 ns 0.29 0.01 False
[LeadingZeroCount_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_uint.html>) 668.91 ns 371.52 ns 0.56 0.01 False
[TrailingZeroCount_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong.html>) 7.88 μs 371.68 ns 0.05 0.00 True
[PopCount_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.PopCount_uint.html>) 1.10 μs 318.25 ns 0.29 0.01 False
[Log2_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_BitOperations.Log2_ulong.html>) 893.50 ns 513.75 ns 0.57 0.03 False

graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BitOperations*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_BitOperations* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_BitOperations*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_BitOperations* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 372.61785118092 < 708.2786672128946. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 50.53265236874399 (T) = (0 -371.7948607719721) / Math.Sqrt((29521.992569902504 / (299)) + (0.16904119575825302 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5745789488408488 = (873.945611668574 - 371.7948607719721) / 873.945611668574 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 372.3213477505277 < 7.3358737072146925. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 9572.505754646885 (T) = (0 -372.0235494066685) / Math.Sqrt((173.5021767713472 / (299)) + (0.16396507502105723 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9518871692479711 = (7732.314719207839 - 372.0235494066685) / 7732.314719207839 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.Log2_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 483.1612781314187 < 1.460884043779839. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/8/2023 3:52:55 PM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 20.076251785670884 (T) = (0 -574.0198154828183) / Math.Sqrt((127933.45759370505 / (299)) + (17872.414826468455 / (23))) is greater than 1.9674049737480528 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (23) - 2, .975) and 0.5483393330918365 = (1270.9094626553658 - 574.0198154828183) / 1270.9094626553658 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.PopCount_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 318.38506090275365 < 1.0490044703914176. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 66.32987432162174 (T) = (0 -318.7080826592946) / Math.Sqrt((29404.19242323908 / (299)) + (0.2605698841795373 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6736362245872171 = (976.5424555963494 - 318.7080826592946) / 976.5424555963494 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.LeadingZeroCount_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 371.5247771058419 < 633.8928813412344. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/8/2023 3:52:55 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 37.562907112252574 (T) = (0 -371.92514222713027) / Math.Sqrt((42915.5688412809 / (299)) + (0.13830860476969228 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5475136397398926 = (821.9587923342767 - 371.92514222713027) / 821.9587923342767 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.TrailingZeroCount_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 371.6820071635294 < 7.486453236050948. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 6779.8415214071165 (T) = (0 -371.86832726059697) / Math.Sqrt((362.05399992212847 / (299)) + (0.24631390281432403 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9528255350103499 = (7882.83083532974 - 371.86832726059697) / 7882.83083532974 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.PopCount_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 318.24739343290696 < 1.0436901955215745. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/8/2023 3:52:55 PM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 15.441204195691515 (T) = (0 -409.8626029881907) / Math.Sqrt((42956.8460618119 / (299)) + (24514.849712987107 / (23))) is greater than 1.9674049737480528 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (23) - 2, .975) and 0.5671448750943221 = (946.881714932918 - 409.8626029881907) / 946.881714932918 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_BitOperations.Log2_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 513.753664560929 < 849.4405140262909. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 3/29/2023 11:36:35 PM, 4/20/2023 12:36:45 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 43.912471990156746 (T) = (0 -504.2759928407519) / Math.Sqrt((41861.07049855967 / (299)) + (190.896829660138 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5190851544603668 = (1048.5764736060607 - 504.2759928407519) / 1048.5764736060607 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_Matrix4x4

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateFromYawPitchRollBenchmarkBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateFromYawPitchRollBenchmarkBenchmark.html>) 126.97 ns 33.01 ns 0.26 0.11 True
[CreateRotationYWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationYWithCenterBenchmark.html>) 80.87 ns 0.33 ns 0.00 0.05 True
[CreatePerspectiveFieldOfViewBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveFieldOfViewBenchmark.html>) 88.87 ns 0.38 ns 0.00 0.09 True
[IsIdentityBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.IsIdentityBenchmark.html>) 93.62 ns 1.55 ns 0.02 0.03 True
[CreateRotationZWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationZWithCenterBenchmark.html>) 84.30 ns 0.28 ns 0.00 0.05 True
[CreateScaleFromVectorWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorWithCenterBenchmark.html>) 81.27 ns 0.38 ns 0.00 0.06 True
[CreatePerspectiveBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveBenchmark.html>) 62.82 ns 0.40 ns 0.01 0.10 True
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.EqualityOperatorBenchmark.html>) 112.81 ns 1.81 ns 0.02 0.06 True
[TransformBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.TransformBenchmark.html>) 128.08 ns 11.83 ns 0.09 0.04 True
[CreateFromMatrix3x2 - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateFromMatrix3x2.html>) 70.06 ns 5.12 ns 0.07 0.05 True
[CreateRotationYBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationYBenchmark.html>) 79.32 ns 0.62 ns 0.01 0.06 True
[CreateTranslationFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateTranslationFromVectorBenchmark.html>) 73.80 ns 0.37 ns 0.00 0.10 True
[CreateReflectionBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateReflectionBenchmark.html>) 201.44 ns 4.41 ns 0.02 0.01 True
[MultiplyByScalarBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarBenchmark.html>) 134.17 ns 0.32 ns 0.00 0.07 True
[CreateScaleFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorBenchmark.html>) 66.33 ns 0.32 ns 0.00 0.08 True
[MultiplyByMatrixBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixBenchmark.html>) 475.32 ns 8.38 ns 0.02 0.01 True
[CreateRotationZBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationZBenchmark.html>) 79.59 ns 0.29 ns 0.00 0.08 True
[CreateRotationXBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationXBenchmark.html>) 79.62 ns 0.29 ns 0.00 0.06 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.NegateBenchmark.html>) 98.52 ns 0.31 ns 0.00 0.15 True
[SubtractOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.SubtractOperatorBenchmark.html>) 149.82 ns 1.98 ns 0.01 0.06 True
[CreateOrthographicOffCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateOrthographicOffCenterBenchmark.html>) 60.10 ns 0.32 ns 0.01 0.05 True
[IdentityBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.IdentityBenchmark.html>) 56.43 ns 0.32 ns 0.01 0.13 True
[CreateRotationXWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateRotationXWithCenterBenchmark.html>) 83.53 ns 0.30 ns 0.00 0.07 True
[CreateTranslationFromScalarXYZ - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateTranslationFromScalarXYZ.html>) 60.34 ns 0.33 ns 0.01 0.12 True
[CreateShadowBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateShadowBenchmark.html>) 207.51 ns 5.53 ns 0.03 0.01 True
[NegationOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.NegationOperatorBenchmark.html>) 97.57 ns 0.33 ns 0.00 0.10 True
[CreateScaleFromScalarXYZBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZBenchmark.html>) 79.88 ns 0.36 ns 0.00 0.09 True
[MultiplyByScalarOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarOperatorBenchmark.html>) 134.78 ns 0.33 ns 0.00 0.05 True
[DecomposeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.DecomposeBenchmark.html>) 278.36 ns 27.34 ns 0.10 0.01 True
[CreateFromQuaternionBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateFromQuaternionBenchmark.html>) 70.42 ns 0.29 ns 0.00 0.05 True
[CreateOrthographicBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateOrthographicBenchmark.html>) 55.71 ns 0.33 ns 0.01 0.06 True
[MultiplyByMatrixOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixOperatorBenchmark.html>) 470.44 ns 8.61 ns 0.02 0.01 True
[CreateFromAxisAngleBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateFromAxisAngleBenchmark.html>) 93.61 ns 0.30 ns 0.00 0.06 True
[LerpBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.LerpBenchmark.html>) 233.65 ns 0.92 ns 0.00 0.04 True
[TranslationBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.TranslationBenchmark.html>) 54.46 ns 1.77 ns 0.03 0.13 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.SubtractBenchmark.html>) 148.67 ns 1.97 ns 0.01 0.07 True
[CreateBillboardBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateBillboardBenchmark.html>) 159.36 ns 10.52 ns 0.07 0.02 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.AddBenchmark.html>) 148.51 ns 1.95 ns 0.01 0.06 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.AddOperatorBenchmark.html>) 148.96 ns 1.96 ns 0.01 0.08 True
[CreateWorldBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateWorldBenchmark.html>) 147.34 ns 9.84 ns 0.07 0.01 True
[CreateFromScalars - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars.html>) 50.94 ns 7.30 ns 0.14 0.04 True
[CreateScaleFromScalarBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarBenchmark.html>) 55.35 ns 0.32 ns 0.01 0.09 True
[Transpose - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.Transpose.html>) 104.27 ns 0.74 ns 0.01 0.11 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.InequalityOperatorBenchmark.html>) 116.96 ns 2.04 ns 0.02 0.13 True
[CreateLookAtBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark.html>) 159.03 ns 13.26 ns 0.08 0.02 True
[InvertBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.InvertBenchmark.html>) 113.96 ns 14.05 ns 0.12 0.01 True
[CreateScaleFromScalarWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarWithCenterBenchmark.html>) 79.87 ns 0.39 ns 0.00 0.07 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.EqualsBenchmark.html>) 138.20 ns 4.42 ns 0.03 0.05 True
[CreateConstrainedBillboardBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateConstrainedBillboardBenchmark.html>) 200.60 ns 11.58 ns 0.06 0.01 True
[CreateScaleFromScalarXYZWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZWithCenterBenchmark.html>) 80.09 ns 0.40 ns 0.00 0.09 True
[CreatePerspectiveOffCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveOffCenterBenchmark.html>) 67.92 ns 0.38 ns 0.01 0.12 True
[GetDeterminantBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix4x4.GetDeterminantBenchmark.html>) 69.63 ns 4.70 ns 0.07 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix4x4*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_Matrix4x4* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix4x4*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_Matrix4x4* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_Matrix4x4.CreateFromYawPitchRollBenchmarkBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.014697605804635 < 121.59333085665699. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 120.795985990044 (T) = (0 -33.67036643131838) / Math.Sqrt((13.352745867677166 / (299)) + (9.150532868981786 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7437765851891339 = (131.41018535004886 - 33.67036643131838) / 131.41018535004886 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationYWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.32985471295140767 < 76.78012560166647. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 622.6670956745621 (T) = (0 -0.30781693375926406) / Math.Sqrt((5.419002359612001 / (299)) + (0.0012556927320155364 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9963497413125648 = (84.32742994868464 - 0.30781693375926406) / 84.32742994868464 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveFieldOfViewBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3837442219333109 < 79.6555577599176. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 535.0239485666658 (T) = (0 -0.41977372441085964) / Math.Sqrt((7.61960070113452 / (299)) + (0.017545167812096155 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9952171753350336 = (87.76690634002283 - 0.41977372441085964) / 87.76690634002283 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.IsIdentityBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5486088260005535 < 88.956836867539. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2760.5173034499408 (T) = (0 -1.4094313328320527) / Math.Sqrt((0.05486769834819141 / (299)) + (0.013972890797091516 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9849401720159624 = (93.58880687919923 - 1.4094313328320527) / 93.58880687919923 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationZWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.28247836550364963 < 77.84543304770875. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 624.3306688457975 (T) = (0 -0.4234844796180776) / Math.Sqrt((4.8923519646677125 / (299)) + (0.023720686548008765 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9949775372687162 = (84.31809299057397 - 0.4234844796180776) / 84.31809299057397 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3781383506964013 < 77.30670020276861. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 253.31613700579098 (T) = (0 -0.36137532780308323) / Math.Sqrt((37.75617477665476 / (299)) + (0.000623747921517765 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9960021543403423 = (90.39251601174497 - 0.36137532780308323) / 90.39251601174497 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.4018014146147356 < 59.779481657597955. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 381.6298533231239 (T) = (0 -0.3973414781718346) / Math.Sqrt((8.565640795497032 / (299)) + (0.017197912483497148 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.994004239745839 = (66.27040797638406 - 0.3973414781718346) / 66.27040797638406 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8141560384539794 < 107.8644328154361. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1109.7998600896274 (T) = (0 -1.638867663792414) / Math.Sqrt((2.6281326013372115 / (299)) + (0.02151657092243439 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9856057767421381 = (113.85592917612236 - 1.638867663792414) / 113.85592917612236 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.TransformBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.830022747681227 < 121.77088379190228. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 759.4565832252449 (T) = (0 -12.000230865123454) / Math.Sqrt((6.4854742421931135 / (299)) + (0.041286047224435025 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9082098601988786 = (130.7355113645535 - 12.000230865123454) / 130.7355113645535 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateFromMatrix3x2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.117158294571547 < 66.31208485650262. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 866.6791774370992 (T) = (0 -5.240691785329554) / Math.Sqrt((0.6227934928598797 / (299)) + (0.04985772812276992 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9255079879663204 = (70.35239943525917 - 5.240691785329554) / 70.35239943525917 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationYBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.6162682955847347 < 75.3359135721029. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 569.3234590878031 (T) = (0 -0.3129319956972701) / Math.Sqrt((6.099267772670189 / (299)) + (0.007060977597127074 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9962096061604082 = (82.55922971080275 - 0.3129319956972701) / 82.55922971080275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateTranslationFromVectorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.36797524055841346 < 68.88686768277749. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 455.8586381599869 (T) = (0 -0.3730429531133803) / Math.Sqrt((7.86858221521661 / (299)) + (0.0007750422114193875 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9949857390723803 = (74.39639829243448 - 0.3730429531133803) / 74.39639829243448 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateReflectionBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.412284824347206 < 192.4138020376963. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 155.10304370379774 (T) = (0 -4.422543167323652) / Math.Sqrt((682.5718323050498 / (299)) + (0.00014451357022049574 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9814777956959084 = (238.76980810252255 - 4.422543167323652) / 238.76980810252255 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3245072524347519 < 128.76059429205645. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 301.39349990145837 (T) = (0 -0.32201146197911185) / Math.Sqrt((70.5516361463551 / (299)) + (3.814062326216052E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9978053615113803 = (146.72642608289038 - 0.32201146197911185) / 146.72642608289038 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromVectorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3174308808312856 < 61.46452189226365. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 540.9444140817511 (T) = (0 -0.32874742190271444) / Math.Sqrt((4.464129169552742 / (299)) + (0.000459617850338542 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9950559909378359 = (66.49409775936456 - 0.32874742190271444) / 66.49409775936456 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.379776254092139 < 446.84689029310783. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 216.30838799575338 (T) = (0 -8.50848431899825) / Math.Sqrt((1729.2106544348624 / (299)) + (0.01082011003630047 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.983907713081482 = (528.7305876461356 - 8.50848431899825) / 528.7305876461356 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationZBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2855401831486305 < 75.46592676078157. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 571.0576668967922 (T) = (0 -0.2978427437681805) / Math.Sqrt((6.176266257255256 / (299)) + (0.0011943581939788048 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9963911065116684 = (82.53021174805437 - 0.2978427437681805) / 82.53021174805437 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationXBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2875690755135505 < 75.44563257045972. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 505.8731196857229 (T) = (0 -0.3515604383709349) / Math.Sqrt((7.418099260106088 / (299)) + (0.021729500314144272 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9957296224668748 = (82.32537653729473 - 0.3515604383709349) / 82.32537653729473 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.31425543850706694 < 93.73886930220849. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 375.5631428655609 (T) = (0 -0.323738500912362) / Math.Sqrt((23.062966581040346 / (299)) + (6.552719756552463E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9969059218853001 = (104.63165082170333 - 0.323738500912362) / 104.63165082170333 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.SubtractOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9761911751180714 < 141.80387405510515. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 530.7601211050763 (T) = (0 -1.9484039741452228) / Math.Sqrt((24.55479650182816 / (299)) + (0.027715710210119083 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.987490226784684 = (155.75054324404226 - 1.9484039741452228) / 155.75054324404226 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateOrthographicOffCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3208130726779162 < 57.12974146154915. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 476.4041375035154 (T) = (0 -0.3189852324340939) / Math.Sqrt((5.180068136037503 / (299)) + (1.6703690410982524E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9949388948209777 = (63.02679378335221 - 0.3189852324340939) / 63.02679378335221 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.IdentityBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.32481121728205614 < 53.80181963566751. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 640.3975666370843 (T) = (0 -0.33612768995930115) / Math.Sqrt((2.330453326403433 / (299)) + (0.001137081846420753 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9941182535328396 = (57.147599243863596 - 0.33612768995930115) / 57.147599243863596 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateRotationXWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.30376765527437904 < 79.02375483244158. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 552.9156124277358 (T) = (0 -0.29853501988487946) / Math.Sqrt((6.669629953244694 / (299)) + (0.013135248947849067 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9964663597806976 = (84.48370557198892 - 0.29853501988487946) / 84.48370557198892 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateTranslationFromScalarXYZ ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.33031687750699906 < 57.23554111921165. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 423.5772993263757 (T) = (0 -0.3229867524563822) / Math.Sqrt((6.733762224204944 / (299)) + (9.118384372692895E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9949452542227801 = (63.89772437458232 - 0.3229867524563822) / 63.89772437458232 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateShadowBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.531650753145214 < 197.3778812665107. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 139.88485629792817 (T) = (0 -5.55347581895809) / Math.Sqrt((898.8067567978442 / (299)) + (0.004512309897154157 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9776157234530696 = (248.09717693197535 - 5.55347581895809) / 248.09717693197535 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.NegationOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3270671184152437 < 92.82989437594586. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 380.23804328196053 (T) = (0 -0.34208600672144435) / Math.Sqrt((22.322774872029576 / (299)) + (0.007253986250622589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9967287315420041 = (104.57289308839535 - 0.34208600672144435) / 104.57289308839535 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.36010243731893216 < 76.65236267912624. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 248.1026702812821 (T) = (0 -0.362497970427674) / Math.Sqrt((38.05358339051155 / (299)) + (0.0008882481451711847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9959221024156139 = (88.89334833116732 - 0.362497970427674) / 88.89334833116732 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByScalarOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.32592690566135646 < 129.5244996246506. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 311.6356418455786 (T) = (0 -0.32982531824098704) / Math.Sqrt((65.75494556668026 / (299)) + (0.0006355750179347464 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.997748419570244 = (146.48613652976275 - 0.32982531824098704) / 146.48613652976275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.DecomposeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.344423976742615 < 264.77688183949635. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 640.4007212914292 (T) = (0 -28.039899313255205) / Math.Sqrt((41.29924575451421 / (299)) + (0.3997160802240027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9026366536464586 = (287.9923540367851 - 28.039899313255205) / 287.9923540367851 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateFromQuaternionBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2893963024378592 < 66.76213441481357. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 617.134238653818 (T) = (0 -0.316695350725211) / Math.Sqrt((4.073976716888615 / (299)) + (0.002078355736745522 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9956449231922613 = (72.71866024554701 - 0.316695350725211) / 72.71866024554701 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateOrthographicBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3283456975043587 < 52.912966263488144. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 437.8755140285103 (T) = (0 -0.3193392436786641) / Math.Sqrt((5.283535502209128 / (299)) + (8.996733402419612E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9945446139466154 = (58.536506959125745 - 0.3193392436786641) / 58.536506959125745 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.MultiplyByMatrixOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.614228134782506 < 446.76588807353164. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 214.9456967959688 (T) = (0 -8.483089679410021) / Math.Sqrt((1763.3850518945994 / (299)) + (0.009636448392995777 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9840094668573363 = (530.5069945902309 - 8.483089679410021) / 530.5069945902309 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateFromAxisAngleBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.30307069855143304 < 88.11255479558596. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 718.3789707673418 (T) = (0 -0.2874884127372458) / Math.Sqrt((5.181671851243991 / (299)) + (0.0006094350799848675 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9969727924973346 = (94.96818849851564 - 0.2874884127372458) / 94.96818849851564 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.LerpBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9236268375940284 < 222.16369986683827. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 228.18384216072207 (T) = (0 -1.6368879970731811) / Math.Sqrt((272.4106264002505 / (299)) + (5.18432578842292 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9936415823023707 = (257.4363740972024 - 1.6368879970731811) / 257.4363740972024 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.TranslationBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7722104781013444 < 52.171950242414944. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 413.54909700743957 (T) = (0 -1.278225526477636) / Math.Sqrt((4.738785008425869 / (299)) + (0.03872853382263041 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9777396023578451 = (57.421504639119114 - 1.278225526477636) / 57.421504639119114 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9681601370132629 < 141.39250342132377. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 531.4108330309706 (T) = (0 -1.9739441168502672) / Math.Sqrt((24.93276475970195 / (299)) + (0.006027988101405014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9873300989786384 = (155.79791140611033 - 1.9739441168502672) / 155.79791140611033 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateBillboardBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.523117769110197 < 151.43818070949646. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 191.42953723149012 (T) = (0 -10.567354813931736) / Math.Sqrt((233.8700927304216 / (299)) + (0.0018649696942754327 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9412540496255793 = (179.88226842156945 - 10.567354813931736) / 179.88226842156945 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9458206190851068 < 141.88360448731092. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 537.6217109297668 (T) = (0 -1.944976489581308) / Math.Sqrt((24.246061943493206 / (299)) + (0.013730606365263081 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.987524358895037 = (155.90192706069172 - 1.944976489581308) / 155.90192706069172 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9577542573391071 < 141.31100265329587. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 511.66991439210454 (T) = (0 -1.9934602538546855) / Math.Sqrt((26.79234657683588 / (299)) + (0.012491237481402876 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9872106337272875 = (155.8685716983446 - 1.9934602538546855) / 155.8685716983446 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateWorldBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.842113642690625 < 140.16666780948128. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 172.91860218854535 (T) = (0 -9.834207447018573) / Math.Sqrt((254.71490797690697 / (299)) + (0.003184337981951075 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9419654112688546 = (169.45424551170896 - 9.834207447018573) / 169.45424551170896 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateFromScalars ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.299966003600004 < 48.41045262611048. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 760.9992438727509 (T) = (0 -7.464934620798852) / Math.Sqrt((0.7207980062523127 / (299)) + (0.01471791692756855 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.855848891242224 = (51.78548181230112 - 7.464934620798852) / 51.78548181230112 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3203656292936649 < 53.395496491315875. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 372.3650096732252 (T) = (0 -0.3263019841788666) / Math.Sqrt((7.524211363551706 / (299)) + (2.818808145493071E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9945065222312011 = (59.39807129686617 - 0.3263019841788666) / 59.39807129686617 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.Transpose ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.7378464261244513 < 98.90859950507186. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 830.7451596937027 (T) = (0 -0.6334627989030477) / Math.Sqrt((4.704346835451816 / (299)) + (0.008757951641800543 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9940660729356627 = (106.75271064758203 - 0.6334627989030477) / 106.75271064758203 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0366226379902748 < 109.44982502964079. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 814.161294021314 (T) = (0 -1.704334904948058) / Math.Sqrt((4.296198733518898 / (299)) + (0.07229943989184748 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9851129120107033 = (114.48410234247343 - 1.704334904948058) / 114.48410234247343 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateLookAtBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.263554574894837 < 145.52424359814302. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 186.97721611530667 (T) = (0 -13.268891780139382) / Math.Sqrt((219.86254825047126 / (299)) + (0.0038654953267250242 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.923580434341816 = (173.63212766073053 - 13.268891780139382) / 173.63212766073053 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.InvertBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.050403373452763 < 107.84864221397805. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2146.632218453029 (T) = (0 -13.939486993614938) / Math.Sqrt((0.2895732258504404 / (299)) + (0.017787583950227847 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8772656698669254 = (113.57447405710414 - 13.939486993614938) / 113.57447405710414 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.39233173158116524 < 75.91362039069598. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 238.0869490716048 (T) = (0 -0.36300341334305664) / Math.Sqrt((41.41995285265154 / (299)) + (0.0019483794534318661 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9959221823211318 = (89.01903957702261 - 0.36300341334305664) / 89.01903957702261 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.4214912971558284 < 131.7249116175407. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 893.2336168927848 (T) = (0 -4.460430540499496) / Math.Sqrt((6.517088795189174 / (299)) + (0.004720471024193712 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.967509025724596 = (137.28214188627967 - 4.460430540499496) / 137.28214188627967 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateConstrainedBillboardBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.579573106729184 < 190.6650545513769. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 165.35566749778917 (T) = (0 -12.031027118462028) / Math.Sqrt((526.218348553554 / (299)) + (0.017646597414921916 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9480231383751442 = (231.4689025531445 - 12.031027118462028) / 231.4689025531445 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreateScaleFromScalarXYZWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3956399087000197 < 76.15750612688481. IsChangePoint: Marked as a change because one of 4/11/2023 10:53:42 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 244.17900463315343 (T) = (0 -0.3724063197391598) / Math.Sqrt((39.290495706580906 / (299)) + (0.0006289013659218767 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.995811020651055 = (88.90144560701647 - 0.3724063197391598) / 88.90144560701647 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.CreatePerspectiveOffCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.3813247175124929 < 64.50837492097457. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 539.093230183243 (T) = (0 -0.35955139930300106) / Math.Sqrt((5.10993204822289 / (299)) + (0.0011017033306956127 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9949348935231527 = (70.98595082778965 - 0.35955139930300106) / 70.98595082778965 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix4x4.GetDeterminantBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.702729090659381 < 66.11490433257413. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 295.4497547988019 (T) = (0 -4.941461059398297) / Math.Sqrt((1.4711233170013505 / (299)) + (0.6472705755823511 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9291236496513063 = (69.71946262875502 - 4.941461059398297) / 69.71946262875502 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).AbsBenchmark.html>) 9.55 ns 0.03 ns 0.00 0.02 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).InequalityOperatorBenchmark.html>) 3.24 ns 0.00 ns 0.00 0.16 True
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).EqualsAnyBenchmark.html>) 8.30 ns 0.00 ns 0.00 0.51 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanOrEqualAllBenchmark.html>) 3.07 ns 0.21 ns 0.07 0.51 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).BitwiseAndOperatorBenchmark.html>) 10.86 ns 0.00 ns 0.00 0.03 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanOrEqualAllBenchmark.html>) 8.85 ns 0.21 ns 0.02 0.11 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).MultiplyOperatorBenchmark.html>) 21.10 ns 0.00 ns 0.00 0.00 True
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).ConditionalSelectBenchmark.html>) 12.08 ns 0.00 ns 0.00 0.00 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanAnyBenchmark.html>) 8.31 ns 0.01 ns 0.00 0.52 True
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).EqualityOperatorBenchmark.html>) 2.94 ns 0.00 ns 0.00 0.38 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).EqualsBenchmark.html>) 6.19 ns 0.21 ns 0.03 0.21 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).OnesComplementOperatorBenchmark.html>) 9.13 ns 0.03 ns 0.00 0.03 True
[SumBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).SumBenchmark.html>) 6.58 ns 0.11 ns 0.02 0.50 False
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).MultiplyBenchmark.html>) 20.92 ns 0.00 ns 0.00 0.01 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).AddBenchmark.html>) 21.06 ns 0.00 ns 0.00 0.01 True
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).DivisionOperatorBenchmark.html>) 23.65 ns 13.05 ns 0.55 0.01 True
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanBenchmark.html>) 22.48 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanOrEqualBenchmark.html>) 23.09 ns 0.05 ns 0.00 0.01 True
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).DotBenchmark.html>) 6.33 ns 0.11 ns 0.02 0.30 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).AddOperatorBenchmark.html>) 20.85 ns 0.00 ns 0.00 0.00 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).AndNotBenchmark.html>) 10.91 ns 0.00 ns 0.00 0.00 True
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).DivideBenchmark.html>) 23.62 ns 13.02 ns 0.55 0.00 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanAllBenchmark.html>) 3.24 ns 0.03 ns 0.01 0.36 True
[AllBitsSetBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).AllBitsSetBenchmark.html>) 8.02 ns 0.03 ns 0.00 0.03 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).BitwiseOrOperatorBenchmark.html>) 10.86 ns 0.00 ns 0.00 0.01 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanBenchmark.html>) 22.50 ns 0.00 ns 0.00 0.01 True
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanOrEqualBenchmark.html>) 23.74 ns 0.05 ns 0.00 0.01 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).XorBenchmark.html>) 10.93 ns 0.00 ns 0.00 0.01 True
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanAnyBenchmark.html>) 3.43 ns 0.01 ns 0.00 0.20 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanOrEqualAnyBenchmark.html>) 3.05 ns 0.10 ns 0.03 0.10 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).MinBenchmark.html>) 23.31 ns 0.00 ns 0.00 0.01 True
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).MaxBenchmark.html>) 23.35 ns 0.00 ns 0.00 0.00 True
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GetHashCodeBenchmark.html>) 36.41 ns 12.72 ns 0.35 0.10 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).SubtractBenchmark.html>) 20.85 ns 0.00 ns 0.00 0.01 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).EqualsStaticBenchmark.html>) 22.42 ns 0.00 ns 0.00 0.00 True
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).BitwiseAndBenchmark.html>) 10.87 ns 0.00 ns 0.00 0.01 True
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).LessThanOrEqualAnyBenchmark.html>) 9.09 ns 0.21 ns 0.02 0.53 True
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).ExclusiveOrOperatorBenchmark.html>) 10.85 ns 0.00 ns 0.00 0.01 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).BitwiseOrBenchmark.html>) 10.88 ns 0.00 ns 0.00 0.02 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).SubtractionOperatorBenchmark.html>) 21.10 ns 0.00 ns 0.00 0.00 True
[EqualsAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).EqualsAllBenchmark.html>) 3.09 ns 0.00 ns 0.00 0.17 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).GreaterThanAllBenchmark.html>) 8.61 ns 0.11 ns 0.01 0.17 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).NegateBenchmark.html>) 20.33 ns 0.03 ns 0.00 0.02 True
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).SquareRootBenchmark.html>) 68.69 ns 12.78 ns 0.19 0.28 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).UnaryNegateOperatorBenchmark.html>) 20.33 ns 0.03 ns 0.00 0.03 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).ZeroBenchmark.html>) 2.64 ns 0.00 ns 0.00 0.16 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(UInt32).OnesComplementBenchmark.html>) 9.28 ns 0.03 ns 0.00 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028511191672823986 < 9.04464510419756. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1868.0922708575683 (T) = (0 -0.02574400952068391) / Math.Sqrt((0.006703891961667245 / (299)) + (5.1264187008909486E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9972962465300091 = (9.521581685023522 - 0.02574400952068391) / 9.521581685023522 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 3.10950922786023. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 195.95895879195785 (T) = (0 -0) / Math.Sqrt((0.08531456854232666 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.3101001080887937 - 0) / 3.3101001080887937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 8.700992539741986. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 431.3977314355249 (T) = (0 -0) / Math.Sqrt((0.12544337929626007 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (8.836212167964431 - 0) / 8.836212167964431 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21317465856817228 < 2.917527087384154. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 307.05544194140725 (T) = (0 -0.21453573728407754) / Math.Sqrt((0.025069662845922706 / (299)) + (1.123908650742763E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9291354154537036 = (3.0274041491616974 - 0.21453573728407754) / 3.0274041491616974 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.32236990036886. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 942.8320081271522 (T) = (0 -0.010442046878881332) / Math.Sqrt((0.007231848214922489 / (299)) + (0.0016355451453113293 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9990413833043811 = (10.892828099701434 - 0.010442046878881332) / 10.892828099701434 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21354039949946427 < 8.415902993974541. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 706.199884450016 (T) = (0 -0.21437681258824398) / Math.Sqrt((0.04300612841824777 / (299)) + (3.86794175425257E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9753153640322806 = (8.684625240922674 - 0.21437681258824398) / 8.684625240922674 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 20.03565463220547. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2618.1250175075065 (T) = (0 -0) / Math.Sqrt((0.019355867914807572 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (21.064982921110694 - 0) / 21.064982921110694 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.453275127903689. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2117.110131981584 (T) = (0 -0) / Math.Sqrt((0.009776766253283902 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (12.106133881014127 - 0) / 12.106133881014127 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.013371683748689255 < 7.9185164213160455. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 430.6846230547495 (T) = (0 -0.013638103492148388) / Math.Sqrt((0.12466156372323674 / (299)) + (5.820533105088109E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9984516442469621 = (8.808120139955086 - 0.013638103492148388) / 8.808120139955086 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.7974995524633353. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 289.90176092942824 (T) = (0 -0) / Math.Sqrt((0.03738305994505975 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.2415496858905612 - 0) / 3.2415496858905612 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2140766069449342 < 5.746022227230583. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 470.685777658789 (T) = (0 -0.20894689322456558) / Math.Sqrt((0.044679253795757344 / (299)) + (3.072514046811837E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9651869149238064 = (6.001964283465664 - 0.20894689322456558) / 6.001964283465664 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028290793347566692 < 8.791369222554636. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2349.781690622048 (T) = (0 -0.027670276231512914) / Math.Sqrt((0.0046124564031959445 / (299)) + (4.2349548552261783E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970135212651643 = (9.265184415597371 - 0.027670276231512914) / 9.265184415597371 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SumBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11441703188515032 < 6.2694605722263175. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 51.10417684557287 (T) = (0 -0.10863180827136489) / Math.Sqrt((2.6764775939544214 / (299)) + (0.00026787309069671393 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9780476195697452 = (4.948520668020527 - 0.10863180827136489) / 4.948520668020527 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 19.983368051812285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2229.6115864569324 (T) = (0 -0.007046848599834344) / Math.Sqrt((0.016484699885132428 / (299)) + (0.0005091275234679686 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996652324526967 = (21.04997529359925 - 0.007046848599834344) / 21.04997529359925 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 19.87542364543354. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4864.222240517005 (T) = (0 -2.1302904002705454E-05) / Math.Sqrt((0.005537640749535556 / (299)) + (6.807205784227262E-09 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.999998982363106 = (20.933698579503037 - 2.1302904002705454E-05) / 20.933698579503037 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.052149478223212 < 22.480403466902985. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 524.5296229553192 (T) = (0 -13.055163916482957) / Math.Sqrt((0.11842762389959006 / (299)) + (0.00024411498905913733 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4493006315335901 = (23.70651695650031 - 13.055163916482957) / 23.70651695650031 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 21.297001350854437. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1280.588865026888 (T) = (0 -0) / Math.Sqrt((0.092402965053424 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (22.512155538068814 - 0) / 22.512155538068814 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.05089351212613929 < 21.88340107776468. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4864.81337104368 (T) = (0 -0.049967480887748474) / Math.Sqrt((0.006679113756794618 / (299)) + (1.0541676096951681E-06 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9978351614265075 = (23.081388838677316 - 0.049967480887748474) / 23.081388838677316 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10739827156208874 < 6.0154085049267385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 453.5332110405391 (T) = (0 -0.10582130142551723) / Math.Sqrt((0.059060696974378005 / (299)) + (3.578677868850039E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9837656493492417 = (6.5183575063764305 - 0.10582130142551723) / 6.5183575063764305 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 19.948841439820402. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4230.795600758749 (T) = (0 -0) / Math.Sqrt((0.007323225784285791 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (20.938118916961557 - 0) / 20.938118916961557 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.374112323385717. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2746.3202063453346 (T) = (0 -0) / Math.Sqrt((0.00474348900556096 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.938670166967007 - 0) / 10.938670166967007 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.DivideBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.020219150139072 < 22.454820729135978. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 326.13700143105683 (T) = (0 -12.974093335004422) / Math.Sqrt((0.004221430272239225 / (299)) + (0.015987109731439113 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4523776734354092 = (23.691680754499256 - 12.974093335004422) / 23.691680754499256 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02674129995884727 < 2.8299810025688594. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.68421467631185 (T) = (0 -0.02760844509014779) / Math.Sqrt((0.03483005203112248 / (299)) + (5.27143244977068E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9914530201480443 = (3.2301989203625427 - 0.02760844509014779) / 3.2301989203625427 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.AllBitsSetBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027328199536995848 < 7.6165065240839285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1953.5075989415793 (T) = (0 -0.02196815561085182) / Math.Sqrt((0.0024430412315375304 / (299)) + (0.00012974201408644684 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9972655243900698 = (8.033772739122044 - 0.02196815561085182) / 8.033772739122044 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.32895347962544. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2263.2883202136604 (T) = (0 -0.0018989605797888813) / Math.Sqrt((0.005833833991759389 / (299)) + (5.409076925388187E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998255252215935 = (10.883868700867753 - 0.0018989605797888813) / 10.883868700867753 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 21.338294484369214. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4043.6442547913607 (T) = (0 -0.003695808160964905) / Math.Sqrt((0.007321038248800959 / (299)) + (9.512653325918538E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998354111380396 = (22.454788962911735 - 0.003695808160964905) / 22.454788962911735 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.0497282490300393 < 22.540249618207895. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2827.253669851135 (T) = (0 -0.05051742262190744) / Math.Sqrt((0.02053087227432043 / (299)) + (3.969095574649111E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9978487575473287 = (23.4829052202738 - 0.05051742262190744) / 23.4829052202738 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.3604505229046. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1878.3072841089777 (T) = (0 -0.0009675773548111359) / Math.Sqrt((0.009795113607291874 / (299)) + (1.4043089063149731E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9999112654530077 = (10.904178672308692 - 0.0009675773548111359) / 10.904178672308692 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.01444350065015182 < 3.2582684518767913. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 353.5875303111008 (T) = (0 -0.008576314714545523) / Math.Sqrt((0.026131079927785978 / (299)) + (5.294323746174619E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.997462768556337 = (3.3801862009734736 - 0.008576314714545523) / 3.3801862009734736 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.09544434954684274 < 2.996796393677789. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 156.00463535666745 (T) = (0 -0.11084685244533844) / Math.Sqrt((0.08174443703587934 / (299)) + (0.001758619410150475 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9652974053040231 = (3.1941949418032665 - 0.11084685244533844) / 3.1941949418032665 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 22.18897741259032. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1809.219977770124 (T) = (0 -0.008897624444523296) / Math.Sqrt((0.02646947761287535 / (299)) + (0.0011875158113366778 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996203717593739 = (23.437730633124648 - 0.008897624444523296) / 23.437730633124648 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 22.164910116721945. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3722.581212462107 (T) = (0 -0) / Math.Sqrt((0.011806994258984106 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (23.392587522135802 - 0) / 23.392587522135802 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.718483571532122 < 34.63035343399301. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 124.66751190330262 (T) = (0 -12.91202135065537) / Math.Sqrt((1.060752913796496 / (299)) + (0.4729893692660026 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6439233423492411 = (36.26191459963523 - 12.91202135065537) / 36.26191459963523 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 19.900752915581783. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4670.775405773651 (T) = (0 -0) / Math.Sqrt((0.006012576566127111 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (20.945160879070187 - 0) / 20.945160879070187 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 21.375060550393457. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3598.2544638338522 (T) = (0 -0) / Math.Sqrt((0.01166412966300768 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (22.474107198663376 - 0) / 22.474107198663376 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.323563089201587. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 605.3129731927464 (T) = (0 -0) / Math.Sqrt((0.09695661034181315 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.900165693188816 - 0) / 10.900165693188816 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21458528249628334 < 7.884342393442175. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 210.31030726589196 (T) = (0 -0.13228631695102122) / Math.Sqrt((0.4338806707624169 / (299)) + (0.001833935067622127 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9843898773965949 = (8.474393207018382 - 0.13228631695102122) / 8.474393207018382 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.313563452520658. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2021.5826607377194 (T) = (0 -0) / Math.Sqrt((0.00871398962090436 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.913509452842488 - 0) / 10.913509452842488 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.344385316350737. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1945.942304730786 (T) = (0 -0) / Math.Sqrt((0.009369501460369608 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.893128008037415 - 0) / 10.893128008037415 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 19.963140385649318. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4831.161759412179 (T) = (0 -0) / Math.Sqrt((0.0056215494492281685 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (20.948069323905166 - 0) / 20.948069323905166 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.EqualsAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.9318670154143587. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 423.20606332790413 (T) = (0 -0) / Math.Sqrt((0.01881436288735934 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.3570750108249467 - 0) / 3.3570750108249467 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10930726690451485 < 8.623381823043626. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 676.0130137885167 (T) = (0 -0.10904663026664639) / Math.Sqrt((0.05022550294758341 / (299)) + (3.311708012947079E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9877859963461889 = (8.92800046220895 - 0.10904663026664639) / 8.92800046220895 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02692841691939717 < 19.30608689954186. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 935.4320052972722 (T) = (0 -0.027626263369249626) / Math.Sqrt((0.1405244390394797 / (299)) + (3.881973000345481E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9986396006567436 = (20.307465970338264 - 0.027626263369249626) / 20.307465970338264 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.77555345609757 < 67.54927133185652. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 392.60003360106816 (T) = (0 -12.726344286631504) / Math.Sqrt((6.737122728257497 / (299)) + (0.005846204967227514 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8236516779114013 = (72.16595052283905 - 12.726344286631504) / 72.16595052283905 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027675730576958484 < 19.309656745759817. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5317.523779301774 (T) = (0 -0.026608719313170364) / Math.Sqrt((0.0032021893430548816 / (299)) + (5.7288334959771675E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9986889217564339 = (20.295294688739855 - 0.026608719313170364) / 20.295294688739855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.540848589218402. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 159.67585747158455 (T) = (0 -0.03664497896610617) / Math.Sqrt((0.043402356578000796 / (299)) + (0.001970908882160409 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9863876161617587 = (2.692032446452144 - 0.03664497896610617) / 2.692032446452144 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<UInt32>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027109354732132683 < 8.820346728870863. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3384.73378940996 (T) = (0 -0.027596884599141426) / Math.Sqrt((0.0022162656847976156 / (299)) + (6.642391990978842E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970230469091537 = (9.270177848618804 - 0.027596884599141426) / 9.270177848618804 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.AddGivenSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).Queue(Size%3a%20512).html>) 2.87 μs 957.69 ns 0.33 0.28 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).SortedList(Size%3a%20512).html>) 67.14 μs 39.69 μs 0.59 0.04 True
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).List(Size%3a%20512).html>) 1.40 μs 659.37 ns 0.47 0.51 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).IDictionary(Size%3a%20512).html>) 12.61 μs 5.00 μs 0.40 0.02 True
[ICollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).ICollection(Size%3a%20512).html>) 2.52 μs 996.40 ns 0.40 0.49 False
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).Dictionary(Size%3a%20512).html>) 12.42 μs 3.76 μs 0.30 0.02 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).HashSet(Size%3a%20512).html>) 7.36 μs 3.29 μs 0.45 0.04 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).Stack(Size%3a%20512).html>) 1.95 μs 667.48 ns 0.34 0.33 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).ConcurrentDictionary(Size%3a%20512).html>) 71.51 μs 24.59 μs 0.34 0.00 True
[ObservableCollection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.AddGivenSize(Int32).ObservableCollection(Size%3a%20512).html>) 26.52 μs 14.74 μs 0.56 0.14 True

graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.AddGivenSize<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.AddGivenSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.AddGivenSize<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.AddGivenSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.AddGivenSize<Int32>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 957.6855226984711 < 2.628144259481349. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 245.170563154068 (T) = (0 -960.174597382181) / Math.Sqrt((15383.480145736063 / (299)) + (7.8263814811436685 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6479834562641791 = (2727.6405455044937 - 960.174597382181) / 2727.6405455044937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.69046682866184 < 63.75365566671752. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 173.87146548200005 (T) = (0 -40312.19722236414) / Math.Sqrt((1692774.7529874167 / (299)) + (297658.5030036545 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.40787157173371974 = (68080.15845548247 - 40312.19722236414) / 68080.15845548247 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.List(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 659.3698243658198 < 1.2845906661719806. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 255.23176422925133 (T) = (0 -660.8258936456058) / Math.Sqrt((2109.6356214942357 / (299)) + (5.53977506753361 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.512773463925342 = (1356.3011139942244 - 660.8258936456058) / 1356.3011139942244 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.004989750957854 < 12.030837217544605. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 191.98177634033559 (T) = (0 -5195.886787343154) / Math.Sqrt((33379.91329810279 / (299)) + (21784.705607572596 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5936954670818848 = (12788.15855197537 - 5195.886787343154) / 12788.15855197537 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.ICollection(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 996.3952152073288 < 2.3952885629936542. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 75.12725245484273 (T) = (0 -1057.3079672618553) / Math.Sqrt((36676.791331107124 / (299)) + (3360.4270424588713 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5695271916881938 = (2456.155062170642 - 1057.3079672618553) / 2456.155062170642 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.757462906234955 < 11.822283943448303. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 293.14518910780237 (T) = (0 -3626.5152709722943) / Math.Sqrt((9610.301251437517 / (299)) + (13062.501935584833 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7083714967813195 = (12435.393766201641 - 3626.5152709722943) / 12435.393766201641 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.29482457410117 < 6.985220218342109. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 354.78999918231045 (T) = (0 -3278.4759604715155) / Math.Sqrt((15539.104296067051 / (299)) + (1147.2585315447227 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5508679378326008 = (7299.581207029419 - 3278.4759604715155) / 7299.581207029419 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 667.4773991232097 < 1.8855008825499084. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 348.0522717004213 (T) = (0 -666.9992774928628) / Math.Sqrt((4286.185172463038 / (299)) + (5.30185372461428 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6666555106998018 = (2000.9308655232842 - 666.9992774928628) / 2000.9308655232842 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.592338809150036 < 67.92348755191468. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 878.7555133535244 (T) = (0 -24574.97911463281) / Math.Sqrt((658058.6309615647 / (299)) + (9039.321765711546 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6543763460675116 = (71103.29063135563 - 24574.97911463281) / 71103.29063135563 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.AddGivenSize<Int32>.ObservableCollection(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.740585234680575 < 25.360660019890368. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 181.78571831254985 (T) = (0 -14780.257568686182) / Math.Sqrt((524412.7987229328 / (299)) + (36777.69002338993 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.44371042338615485 = (26569.35917917813 - 14780.257568686182) / 26569.35917917813 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.ContainsKeyTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).SortedDictionary(Size%3a%20512).html>) 531.84 μs 216.16 μs 0.41 0.10 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).ImmutableSortedDictionary(Size%3a%20512).html>) 520.24 μs 199.55 μs 0.38 0.06 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).IDictionary(Size%3a%20512).html>) 20.60 μs 8.54 μs 0.41 0.03 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).ImmutableDictionary(Size%3a%20512).html>) 74.24 μs 33.34 μs 0.45 0.05 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).Dictionary(Size%3a%20512).html>) 19.86 μs 7.91 μs 0.40 0.04 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).ConcurrentDictionary(Size%3a%20512).html>) 17.60 μs 8.75 μs 0.50 0.02 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(String%2c%20String).SortedList(Size%3a%20512).html>) 491.10 μs 195.10 μs 0.40 0.05 True

graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsKeyTrue<String, String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsKeyTrue<String, String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsKeyTrue<String, String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsKeyTrue<String, String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsKeyTrue<String, String>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 216.1610724600457 < 504.1779797205687. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 189.4670085874494 (T) = (0 -208844.13699236242) / Math.Sqrt((207090615.23818102 / (299)) + (36108399.41884525 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6149816704148451 = (542426.4793247257 - 208844.13699236242) / 542426.4793247257 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 199.54935766086498 < 495.1061301202877. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 242.95540067611338 (T) = (0 -200223.5345692164) / Math.Sqrt((110076364.30111799 / (299)) + (22027126.89570799 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6218499829298402 = (529481.7546763937 - 200223.5345692164) / 529481.7546763937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.544116691698523 < 19.575548761068553. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 247.41887211887683 (T) = (0 -8656.69167078541) / Math.Sqrt((272401.5643479306 / (299)) + (16483.57216784878 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5616661030862892 = (19749.081081195833 - 8656.69167078541) / 19749.081081195833 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.34001321365248 < 71.11873865640268. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 374.0893696715825 (T) = (0 -33219.49834760175) / Math.Sqrt((1981909.3779080322 / (299)) + (95113.22835329444 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5618747642378152 = (75821.92404373018 - 33219.49834760175) / 75821.92404373018 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.907928200431454 < 18.75813984281847. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 376.23922904342214 (T) = (0 -7937.017201681807) / Math.Sqrt((230518.85751667418 / (299)) + (1111.7525635136492 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5794825921304219 = (18874.408177041372 - 7937.017201681807) / 18874.408177041372 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.748889095913826 < 16.887486933558026. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 248.84214140286653 (T) = (0 -8825.335269966938) / Math.Sqrt((234828.5364111834 / (299)) + (7673.531037248185 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5073029632465061 = (17912.296221871595 - 8825.335269966938) / 17912.296221871595 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<String, String>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 195.1042141183035 < 470.805716499811. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 180.29900787553808 (T) = (0 -199432.09777250804) / Math.Sqrt((117720460.67431363 / (299)) + (36476958.579754815 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6031212545518693 = (502501.3308468352 - 199432.09777250804) / 502501.3308468352 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[DotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).DotBenchmark.html>) 20.96 ns 11.03 ns 0.53 0.03 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).XorBenchmark.html>) 10.85 ns 0.00 ns 0.00 0.01 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).EqualsBenchmark.html>) 6.09 ns 0.20 ns 0.03 0.12 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).UnaryNegateOperatorBenchmark.html>) 33.23 ns 0.03 ns 0.00 0.04 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).BitwiseOrOperatorBenchmark.html>) 10.83 ns 0.00 ns 0.00 0.01 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanOrEqualAllBenchmark.html>) 2.83 ns 0.21 ns 0.08 0.51 False
[EqualsAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).EqualsAllBenchmark.html>) 3.81 ns 0.00 ns 0.00 0.50 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).BitwiseOrBenchmark.html>) 11.07 ns 0.00 ns 0.00 0.02 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).SubtractionOperatorBenchmark.html>) 33.75 ns 0.00 ns 0.00 0.17 True
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).MultiplyBenchmark.html>) 33.94 ns 18.58 ns 0.55 0.11 True
[DivideBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).DivideBenchmark.html>) 58.36 ns 30.71 ns 0.53 0.47 False
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanAnyBenchmark.html>) 3.16 ns 0.00 ns 0.00 0.29 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).AddOperatorBenchmark.html>) 35.85 ns 0.00 ns 0.00 0.16 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).SubtractBenchmark.html>) 33.83 ns 0.00 ns 0.00 0.20 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanAllBenchmark.html>) 3.73 ns 0.21 ns 0.06 0.38 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanBenchmark.html>) 39.05 ns 0.00 ns 0.00 0.15 True
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).SquareRootBenchmark.html>) 190.88 ns 27.11 ns 0.14 0.02 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).InequalityOperatorBenchmark.html>) 3.13 ns 0.00 ns 0.00 0.33 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanAllBenchmark.html>) 28.57 ns 0.20 ns 0.01 0.01 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).AndNotBenchmark.html>) 10.91 ns 0.00 ns 0.00 0.01 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanOrEqualAnyBenchmark.html>) 3.00 ns 0.10 ns 0.03 0.34 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanOrEqualAllBenchmark.html>) 27.97 ns 0.21 ns 0.01 0.06 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).ZeroBenchmark.html>) 2.69 ns 0.03 ns 0.01 0.16 True
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).MaxBenchmark.html>) 43.69 ns 0.00 ns 0.00 0.46 True
[DivisionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).DivisionOperatorBenchmark.html>) 59.04 ns 30.99 ns 0.52 0.49 False
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanOrEqualAnyBenchmark.html>) 29.18 ns 0.21 ns 0.01 0.04 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).OnesComplementBenchmark.html>) 9.25 ns 0.03 ns 0.00 0.02 True
[AllBitsSetBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).AllBitsSetBenchmark.html>) 8.02 ns 0.00 ns 0.00 0.05 True
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanOrEqualBenchmark.html>) 41.85 ns 0.05 ns 0.00 0.01 True
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).BitwiseAndBenchmark.html>) 11.16 ns 0.00 ns 0.00 0.00 True
[SumBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).SumBenchmark.html>) 16.79 ns 6.92 ns 0.41 0.47 False
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).ConditionalSelectBenchmark.html>) 12.06 ns 0.00 ns 0.00 0.02 True
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanBenchmark.html>) 43.37 ns 0.00 ns 0.00 0.16 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).LessThanAnyBenchmark.html>) 29.85 ns 0.00 ns 0.00 0.27 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).EqualsStaticBenchmark.html>) 44.03 ns 0.00 ns 0.00 0.14 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).MinBenchmark.html>) 44.89 ns 0.00 ns 0.00 0.48 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).MultiplyOperatorBenchmark.html>) 36.27 ns 18.46 ns 0.51 0.12 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GreaterThanOrEqualBenchmark.html>) 42.96 ns 0.05 ns 0.00 0.04 True
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).ExclusiveOrOperatorBenchmark.html>) 10.85 ns 0.00 ns 0.00 0.02 True
[GetHashCodeBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).GetHashCodeBenchmark.html>) 97.81 ns 48.49 ns 0.50 0.10 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).NegateBenchmark.html>) 33.35 ns 0.03 ns 0.00 0.03 True
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).AbsBenchmark.html>) 32.68 ns 0.03 ns 0.00 0.02 True
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).EqualsAnyBenchmark.html>) 27.71 ns 0.00 ns 0.00 0.37 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).BitwiseAndOperatorBenchmark.html>) 10.87 ns 0.00 ns 0.00 0.02 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).AddBenchmark.html>) 33.80 ns 0.00 ns 0.00 0.20 True
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).EqualityOperatorBenchmark.html>) 3.22 ns 0.16 ns 0.05 0.32 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Runtime.Intrinsics.Tests.Perf_Vector128Of(SByte).OnesComplementOperatorBenchmark.html>) 9.30 ns 0.03 ns 0.00 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.DotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.029340355400755 < 19.93128909247487. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 739.7774606749675 (T) = (0 -11.02491022179555) / Math.Sqrt((0.0527412188233989 / (299)) + (0.0001989133540729924 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48026892784155023 = (21.212720986661346 - 11.02491022179555) / 21.212720986661346 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.312647901611477. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2121.734250259951 (T) = (0 -0) / Math.Sqrt((0.007886540620988041 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.89679210314883 - 0) / 10.89679210314883 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.20415807593978558 < 5.780689482207082. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 352.0287478476615 (T) = (0 -0.1923659505472668) / Math.Sqrt((0.027460122884613334 / (299)) + (0.0028488412271844526 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9684720683803693 = (6.101445311036212 - 0.1923659505472668) / 6.101445311036212 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027816817503482912 < 31.612607452108737. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1761.2024862714645 (T) = (0 -0.027597325990006503) / Math.Sqrt((0.10768246268555233 / (299)) + (1.072380234289371E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991750658086548 = (33.453972789036925 - 0.027597325990006503) / 33.453972789036925 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.29553709962999. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2182.703761626701 (T) = (0 -0) / Math.Sqrt((0.00744808886495215 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.893855932400907 - 0) / 10.893855932400907 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21401823590439775 < 2.691633838477966. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 107.1640491966791 (T) = (0 -0.21465326626829354) / Math.Sqrt((0.24097707992439246 / (299)) + (1.4294097101946985E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9340973925779221 = (3.2571285820837352 - 0.21465326626829354) / 3.2571285820837352 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.9848752159737275. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 209.19784992899264 (T) = (0 -0) / Math.Sqrt((0.07615553344479331 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.338661236528539 - 0) / 3.338661236528539 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.402969136172514. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 988.5449832742122 (T) = (0 -0) / Math.Sqrt((0.03635843138325209 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.900926499107896 - 0) / 10.900926499107896 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 32.11022684830293. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 693.1361012080207 (T) = (0 -0) / Math.Sqrt((0.7449794934006786 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (34.598325818424335 - 0) / 34.598325818424335 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.575994950220903 < 33.21813717486638. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 248.6891754340932 (T) = (0 -18.602869249371405) / Math.Sqrt((0.7400240399192968 / (299)) + (0.02738160179396896 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.46713960053910847 = (34.91133750639455 - 18.602869249371405) / 34.91133750639455 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.DivideBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.71435388644904 < 55.35395397263767. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 106.55101916669392 (T) = (0 -30.797428585787305) / Math.Sqrt((15.182279308138307 / (299)) + (0.012216295911012313 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4400378012902208 = (54.99912075627304 - 30.797428585787305) / 54.99912075627304 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.997773230282286. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 308.43650140764703 (T) = (0 -0) / Math.Sqrt((0.035097490958690705 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.341705777617569 - 0) / 3.341705777617569 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 32.96258372407135. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 674.6392992869129 (T) = (0 -0) / Math.Sqrt((0.7896067806653785 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (34.66901290751817 - 0) / 34.66901290751817 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 32.11725593188016. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 743.0869820321519 (T) = (0 -0) / Math.Sqrt((0.6461842530731093 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (34.54476511958628 - 0) / 34.54476511958628 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21239141416092377 < 3.2547108906680537. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 210.9738988012861 (T) = (0 -0.21440070563586952) / Math.Sqrt((0.06537660543717023 / (299)) + (1.7181391984544332E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9357091671924953 = (3.3348565615538646 - 0.21440070563586952) / 3.3348565615538646 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 36.50699652437737. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 353.97285531444305 (T) = (0 -0) / Math.Sqrt((3.6299234676015963 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (39.00166064913849 - 0) / 39.00166064913849 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.10910056682502 < 180.8665296014098. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 587.1245778149037 (T) = (0 -27.118526285333374) / Math.Sqrt((22.32990474534491 / (299)) + (0.013430338264410552 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8561556433978746 = (188.52686977733472 - 27.118526285333374) / 188.52686977733472 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.973271901868885. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 241.13930893932474 (T) = (0 -0) / Math.Sqrt((0.05794514604740172 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (3.356919668991169 - 0) / 3.356919668991169 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.20328232408731814 < 27.19383116339634. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 752.7766966054952 (T) = (0 -0.20435260367978447) / Math.Sqrt((0.4428552984269333 / (299)) + (4.4201879927690224E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9929957482151748 = (29.175507956826497 - 0.20435260367978447) / 29.175507956826497 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.36082816635135. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2547.5855901818722 (T) = (0 -0) / Math.Sqrt((0.005506093663865993 / (299)) + (0 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 1 = (10.93238674713701 - 0) / 10.93238674713701 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.09619579790338618 < 2.7376097940511355. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 154.7453285488038 (T) = (0 -0.13514525467604377) / Math.Sqrt((0.026897562896240197 / (299)) + (0.003392809033108116 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9531817320552299 = (2.88659236252546 - 0.13514525467604377) / 2.88659236252546 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.21328284091852437 < 27.444122899119506. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 768.542194874312 (T) = (0 -0.21397014136962103) / Math.Sqrt((0.4174261920878934 / (299)) + (1.7580575567773015E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9926041336649639 = (28.93104494817489 - 0.21397014136962103) / 28.93104494817489 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028429701385926858 < 2.5683984588035376. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 108.16427412967654 (T) = (0 -0.06676143128693282) / Math.Sqrt((0.0324406124216629 / (299)) + (0.007391766390854061 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9754468893368912 = (2.7190620448447818 - 0.06676143128693282) / 2.7190620448447818 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 41.5443267120021. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 351.3847265009066 (T) = (0 -0.008929063817623808) / Math.Sqrt((4.3184261658004255 / (299)) + (0.0011959227098879781 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9997891814037531 = (42.35425136387937 - 0.008929063817623808) / 42.35425136387937 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.DivisionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.986241811560905 < 52.218078594160396. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 104.960571345 (T) = (0 -30.94294941670254) / Math.Sqrt((15.053875224709275 / (299)) + (0.010193660045430755 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4338253115512548 = (54.65265411543341 - 30.94294941670254) / 54.65265411543341 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2146025189319685 < 27.42923526037197. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 889.5774046439925 (T) = (0 -0.12671525212705254) / Math.Sqrt((0.26970344523147705 / (299)) + (0.002374690805313439 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9956445927184151 = (29.093777902887947 - 0.12671525212705254) / 29.093777902887947 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026731263118251376 < 8.79201424756573. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1256.244317839886 (T) = (0 -0.02771258952947921) / Math.Sqrt((0.01622201843586802 / (299)) + (5.307548089928634E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970149867672276 = (9.28390843471714 - 0.02771258952947921) / 9.28390843471714 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AllBitsSetBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 7.6260821784118145. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1728.6940917822444 (T) = (0 -0.018294128356324327) / Math.Sqrt((0.0028250806463375154 / (299)) + (0.00017976613815224758 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9977193318066497 = (8.021389700467644 - 0.018294128356324327) / 8.021389700467644 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.05008739705889666 < 39.79014542095978. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1379.2860048582413 (T) = (0 -0.05468899614354274) / Math.Sqrt((0.27022247405277144 / (299)) + (0.0002990739352522383 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9986970860622312 = (41.97437340887795 - 0.05468899614354274) / 41.97437340887795 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.34700601603094. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2026.1787824274231 (T) = (0 -0) / Math.Sqrt((0.008661271601535642 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.905184002888063 - 0) / 10.905184002888063 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.SumBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.917044144005325 < 15.97964484253001. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 126.61799909484135 (T) = (0 -7.013767926603952) / Math.Sqrt((2.370633831142867 / (299)) + (0.004524551182364186 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6208895898228572 = (18.500594387072372 - 7.013767926603952) / 18.500594387072372 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 11.455199259044807. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1126.446003258281 (T) = (0 -0.004829737574700526) / Math.Sqrt((0.02744281833373103 / (299)) + (0.00034989547560711177 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996005281438417 = (12.090307490363834 - 0.004829737574700526) / 12.090307490363834 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 38.87670594416839. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 442.6630901203746 (T) = (0 -0) / Math.Sqrt((2.3596252023765887 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (39.32413969973537 - 0) / 39.32413969973537 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 27.7358285570811. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 437.96244029253234 (T) = (0 -0) / Math.Sqrt((1.2123571806203142 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (27.887948472115898 - 0) / 27.887948472115898 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 38.86851810241368. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 357.784655350513 (T) = (0 -0.0004007217306027525) / Math.Sqrt((3.547826253141385 / (299)) + (2.248090675281709E-06 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9999897182224791 = (38.9739740801115 - 0.0004007217306027525) / 38.9739740801115 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 41.11766834414226. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 426.2804585010425 (T) = (0 -0) / Math.Sqrt((3.0903215739996286 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (43.337281692549986 - 0) / 43.337281692549986 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.46051510312974 < 34.46005083633922. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 199.5393281257094 (T) = (0 -18.65377470208234) / Math.Sqrt((0.8520703724372926 / (299)) + (0.057764953818372336 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.46684708166986605 = (34.98766312769524 - 18.65377470208234) / 34.98766312769524 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.050219157644739616 < 39.73698391072176. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 792.4468061652236 (T) = (0 -0.05721537312036886) / Math.Sqrt((0.8332524154728665 / (299)) + (0.0003532024919929564 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.998639897088762 = (42.06694408755695 - 0.05721537312036886) / 42.06694408755695 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.307476513211206. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1839.0042733657774 (T) = (0 -0) / Math.Sqrt((0.010463251503554297 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (10.878787072714353 - 0) / 10.878787072714353 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.GetHashCodeBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 48.48802219191521 < 92.94870321547728. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 422.2740595232944 (T) = (0 -48.515149651749574) / Math.Sqrt((4.44837908228807 / (299)) + (0.005079461120215693 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5177624105153842 = (100.60424717948555 - 48.515149651749574) / 100.60424717948555 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027260964590977713 < 31.52915510116948. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1735.020498501383 (T) = (0 -0.027480603751824102) / Math.Sqrt((0.11083170035622784 / (299)) + (1.692354921060117E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991780194935149 = (33.4321842610795 - 0.027480603751824102) / 33.4321842610795 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027804370808745586 < 31.06623232364045. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2896.8326990094424 (T) = (0 -0.02782346115367151) / Math.Sqrt((0.03817448467635714 / (299)) + (5.863746510868521E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991508169566837 = (32.764974963486026 - 0.02782346115367151) / 32.764974963486026 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 27.738476469898373. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 389.8901986685802 (T) = (0 -0.010277397789436) / Math.Sqrt((1.5002552816793517 / (299)) + (0.0015843735798345593 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996318623485791 = (27.91726885248469 - 0.010277397789436) / 27.91726885248469 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 10.331035951797949. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 620.7329411776867 (T) = (0 -0.01637374964396847) / Math.Sqrt((0.011846393771710532 / (299)) + (0.004021495161050362 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9984985422329139 = (10.905234900975746 - 0.01637374964396847) / 10.905234900975746 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 33.6692076347442. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 673.638708376705 (T) = (0 -0) / Math.Sqrt((0.7949454158088081 / (299)) + (0 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 1 = (34.73442348520995 - 0) / 34.73442348520995 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.1588075399045663 < 3.0588954107936175. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 195.53447287445957 (T) = (0 -0.010587169326971088) / Math.Sqrt((0.05126243537897094 / (299)) + (0.0016813223153693613 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9967947686994801 = (3.303090583588772 - 0.010587169326971088) / 3.303090583588772 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Runtime.Intrinsics.Tests.Perf_Vector128Of<SByte>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02664234288067391 < 8.832538689378657. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3555.106791440204 (T) = (0 -0.027429492195681342) / Math.Sqrt((0.002015519489556958 / (299)) + (5.092176192721881E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970445003230148 = (9.280830720192029 - 0.027429492195681342) / 9.280830720192029 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Tests.Perf_UInt32

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ToString(value%3a%200).html>) 5.97 ns 2.03 ns 0.34 0.22 True
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryFormat(value%3a%200).html>) 18.04 ns 1.68 ns 0.09 0.01 True
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryFormat(value%3a%2012345).html>) 33.07 ns 4.06 ns 0.12 0.03 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ToString(value%3a%2012345).html>) 43.14 ns 11.07 ns 0.26 0.05 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.Parse(value%3a%20%224294967295%22).html>) 60.56 ns 17.21 ns 0.28 0.14 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.Parse(value%3a%20%2212345%22).html>) 44.79 ns 14.74 ns 0.33 0.10 False
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryFormat(value%3a%204294967295).html>) 54.72 ns 5.93 ns 0.11 0.01 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParse(value%3a%20%220%22).html>) 29.31 ns 10.38 ns 0.35 0.09 False
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ParseSpan(value%3a%20%2212345%22).html>) 42.71 ns 14.78 ns 0.35 0.09 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParse(value%3a%20%2212345%22).html>) 40.23 ns 13.21 ns 0.33 0.10 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.Parse(value%3a%20%220%22).html>) 32.11 ns 10.24 ns 0.32 0.05 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParse(value%3a%20%224294967295%22).html>) 57.72 ns 19.33 ns 0.33 0.18 False
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ParseSpan(value%3a%20%220%22).html>) 29.08 ns 10.65 ns 0.37 0.05 True
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ParseSpan(value%3a%20%224294967295%22).html>) 53.66 ns 19.81 ns 0.37 0.19 True
[TryParseHex - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParseHex(value%3a%20%223039%22).html>) 78.48 ns 8.68 ns 0.11 0.01 True
[TryParseHex - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParseHex(value%3a%20%220%22).html>) 26.03 ns 4.97 ns 0.19 0.04 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.ToString(value%3a%204294967295).html>) 64.22 ns 13.68 ns 0.21 0.01 True
[TryParseHex - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_UInt32.TryParseHex(value%3a%20%22FFFFFFFF%22).html>) 140.72 ns 12.56 ns 0.09 0.00 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_UInt32*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_UInt32* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_UInt32*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_UInt32* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_UInt32.ToString(value: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.027742174108304 < 5.685348493796765. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 119.12393804534963 (T) = (0 -2.085581179800728) / Math.Sqrt((0.11634654301772737 / (299)) + (0.007263750889605461 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6279753137241944 = (5.60602899952331 - 2.085581179800728) / 5.60602899952331 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryFormat(value: 0) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6811756567424643 < 17.14651120274551. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 311.4929734056385 (T) = (0 -1.6863281493961249) / Math.Sqrt((0.9660991681015995 / (299)) + (8.502671718615833E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9131115965051796 = (19.407977147337625 - 1.6863281493961249) / 19.407977147337625 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryFormat(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.063614102460826 < 32.0624522740017. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 302.6676970978341 (T) = (0 -4.067060966363381) / Math.Sqrt((3.481898874673031 / (299)) + (4.2754341797375495E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8892796751840376 = (36.73274056162301 - 4.067060966363381) / 36.73274056162301 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.ToString(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.068782118391281 < 40.58611763876502. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 177.10635959154232 (T) = (0 -11.126180810911979) / Math.Sqrt((7.004075438772945 / (299)) + (0.014134720445085307 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7130396994990855 = (38.772543768215506 - 11.126180810911979) / 38.772543768215506 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.Parse(value: "4294967295") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.2092051890037 < 55.25483926616196. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 75.58498940723629 (T) = (0 -17.72239889050713) / Math.Sqrt((32.19426262054072 / (299)) + (1.3429473717813116 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6544521721679923 = (51.287831851523286 - 17.72239889050713) / 51.287831851523286 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.73752874550187 < 42.47864576515059. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 90.33055920954217 (T) = (0 -14.012244224903622) / Math.Sqrt((13.930842711096814 / (299)) + (0.45963753515121114 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6417772331866152 = (39.11600691812886 - 14.012244224903622) / 39.11600691812886 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryFormat(value: 4294967295) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.931179828694334 < 52.16499916656239. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 308.4325347952622 (T) = (0 -5.848804281563662) / Math.Sqrt((8.705524842307852 / (299)) + (0.012105327007026689 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9012056824444699 = (59.20182887316544 - 5.848804281563662) / 59.20182887316544 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParse(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.38352011164626 < 27.518456727573145. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 83.50096773621738 (T) = (0 -10.45301243471666) / Math.Sqrt((6.217925451237561 / (299)) + (0.19404760760319092 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5946729861284691 = (25.78908406541529 - 10.45301243471666) / 25.78908406541529 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.ParseSpan(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.776943542875495 < 39.1467079041547. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 134.79156206935565 (T) = (0 -14.309482620819349) / Math.Sqrt((2.3666857255275944 / (299)) + (0.4535245365254501 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6478715465102678 = (40.637109779135194 - 14.309482620819349) / 40.637109779135194 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.210423712265596 < 39.4645828285425. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 94.43540406032463 (T) = (0 -13.763760715628221) / Math.Sqrt((12.342681247074443 / (299)) + (0.2767164421729852 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.626421823694717 = (36.84305344534008 - 13.763760715628221) / 36.84305344534008 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.Parse(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.243166991462164 < 30.44672099699007. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 102.46243962331751 (T) = (0 -10.793844475821725) / Math.Sqrt((4.614446342031089 / (299)) + (0.21634979033128454 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6212458861423098 = (28.49828973706491 - 10.793844475821725) / 28.49828973706491 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParse(value: "4294967295") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.326540018241772 < 54.891587378398036. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 63.01720680054548 (T) = (0 -18.437204383299065) / Math.Sqrt((33.87168087671708 / (299)) + (1.5936836980489064 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6196101649130924 = (48.46923519679941 - 18.437204383299065) / 48.46923519679941 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.ParseSpan(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.647498335467628 < 27.658649642537902. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 192.282044073974 (T) = (0 -10.623852252144253) / Math.Sqrt((1.5454889912598966 / (299)) + (0.08272904764833867 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6516644741786771 = (30.49890540763766 - 10.623852252144253) / 30.49890540763766 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.ParseSpan(value: "4294967295") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.812652304932524 < 53.66035446032488. IsChangePoint: Marked as a change because one of 4/18/2023 7:36:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 111.91309185510677 (T) = (0 -19.28729600778702) / Math.Sqrt((8.770350742881927 / (299)) + (0.9180955822545049 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6358245105847851 = (52.96154345466286 - 19.28729600778702) / 52.96154345466286 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParseHex(value: "3039") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.680909285282441 < 74.77690388310477. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1277.5027477209467 (T) = (0 -8.674072372491981) / Math.Sqrt((0.8475140703571978 / (299)) + (0.0016659566402325414 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8888053263984613 = (78.00798447932085 - 8.674072372491981) / 78.00798447932085 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParseHex(value: "0") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.96558572574241 < 24.52275857605716. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 427.22667049869995 (T) = (0 -4.8209368677933435) / Math.Sqrt((0.5567385874546483 / (299)) + (0.006566248134304358 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8095161651785576 = (25.308902838461023 - 4.8209368677933435) / 25.308902838461023 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.ToString(value: 4294967295) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.68060368052281 < 61.764506292727766. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 435.78165205674605 (T) = (0 -13.602270948201618) / Math.Sqrt((3.2494685800688323 / (299)) + (0.027126374819444556 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7829414082065738 = (62.666355825006185 - 13.602270948201618) / 62.666355825006185 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_UInt32.TryParseHex(value: "FFFFFFFF") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.558033261817645 < 133.3720093243643. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2188.4838316184123 (T) = (0 -12.666070343635246) / Math.Sqrt((0.7026316360246226 / (299)) + (0.014764050624178035 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9089000201229108 = (139.034831409668 - 12.666070343635246) / 139.034831409668 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_VectorConvert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Narrow_ushort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_ushort.html>) 20.96 μs 684.74 ns 0.03 0.46 True
[Convert_float_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_float_int.html>) 2.42 μs 444.54 ns 0.18 0.01 True
[Convert_double_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_double_ulong.html>) 18.11 μs 8.67 μs 0.48 0.02 True
[Convert_ulong_double - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_ulong_double.html>) 38.61 μs 664.30 ns 0.02 0.00 True
[Narrow_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_int.html>) 14.85 μs 661.41 ns 0.04 0.00 True
[Widen_sbyte - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_sbyte.html>) 26.67 μs 658.82 ns 0.02 0.00 True
[Convert_uint_float - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_uint_float.html>) 51.56 μs 655.75 ns 0.01 0.01 True
[Narrow_ulong - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_ulong.html>) 11.91 μs 876.41 ns 0.07 0.00 True
[Convert_long_double - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_long_double.html>) 38.63 μs 664.02 ns 0.02 0.01 True
[Narrow_long - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_long.html>) 11.39 μs 876.12 ns 0.08 0.00 True
[Convert_float_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_float_uint.html>) 41.38 μs 5.65 μs 0.14 0.03 True
[Narrow_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_uint.html>) 15.07 μs 677.17 ns 0.04 0.01 True
[Narrow_double - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_double.html>) 17.45 μs 747.54 ns 0.04 0.01 True
[Widen_short - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_short.html>) 20.73 μs 661.18 ns 0.03 0.00 True
[Widen_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_int.html>) 17.44 μs 662.38 ns 0.04 0.01 True
[Convert_int_float - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_int_float.html>) 8.93 μs 436.74 ns 0.05 0.01 True
[Widen_uint - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_uint.html>) 17.95 μs 658.03 ns 0.04 0.01 True
[Widen_byte - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_byte.html>) 26.89 μs 660.13 ns 0.02 0.00 True
[Widen_float - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_float.html>) 30.01 μs 877.31 ns 0.03 0.03 True
[Widen_ushort - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Widen_ushort.html>) 20.94 μs 659.96 ns 0.03 0.00 True
[Convert_double_long - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Convert_double_long.html>) 9.07 μs 4.93 μs 0.54 0.01 True
[Narrow_short - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorConvert.Narrow_short.html>) 20.98 μs 673.72 ns 0.03 0.00 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorConvert*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorConvert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorConvert*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorConvert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorConvert.Narrow_ushort ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 684.7361944115625 < 21.57979476459761. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 386.3417359047051 (T) = (0 -690.6416074945438) / Math.Sqrt((887640.0546391811 / (299)) + (878.9442337759173 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9685320856422712 = (21947.485926245274 - 690.6416074945438) / 21947.485926245274 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_float_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 444.53887615223226 < 2.296292297116237. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3362.7773148063893 (T) = (0 -443.3140373261866) / Math.Sqrt((82.45343181855465 / (299)) + (1.0354197686698583 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.816653497845151 = (2417.902889425056 - 443.3140373261866) / 2417.902889425056 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_double_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.66799267817592 < 17.185838455804433. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 162.87900307852286 (T) = (0 -8484.922530426518) / Math.Sqrt((697625.6823687628 / (299)) + (12450.269821028354 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5191490155493231 = (17645.638263836925 - 8484.922530426518) / 17645.638263836925 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_ulong_double ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 664.3019829291696 < 36.754082890836266. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 10203.871580437746 (T) = (0 -665.4918767055979) / Math.Sqrt((4102.0415204035235 / (299)) + (1.8294896837159085 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9827769630579013 = (38639.635909908735 - 665.4918767055979) / 38639.635909908735 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 661.4072337448299 < 14.105781381321226. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 8959.193601786206 (T) = (0 -664.9787183350346) / Math.Sqrt((169.41236314164905 / (299)) + (29.103285198724244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9552203000872687 = (14850.00389977991 - 664.9787183350346) / 14850.00389977991 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_sbyte ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 658.817494107352 < 25.341729412461643. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4019.773434070394 (T) = (0 -658.7358573130215) / Math.Sqrt((12603.668047240419 / (299)) + (0.7426776223057502 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9753950501396152 = (26772.49338246451 - 658.7358573130215) / 26772.49338246451 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_uint_float ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 655.7546363649105 < 48.89972060267856. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1210.8666515263296 (T) = (0 -653.9777320613315) / Math.Sqrt((530070.3635588058 / (299)) + (12.178745874445667 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.987338011774006 = (51648.897502429114 - 653.9777320613315) / 51648.897502429114 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_ulong ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 876.4121495983374 < 11.282223670032392. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4115.8866613401 (T) = (0 -876.0775348099729) / Math.Sqrt((2142.6149318433772 / (299)) + (0.22383814263648236 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9264138653977063 = (11905.470229478062 - 876.0775348099729) / 11905.470229478062 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_long_double ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 664.0183698777346 < 36.694635355267295. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4203.057553619056 (T) = (0 -664.3099306076824) / Math.Sqrt((24343.12549739296 / (299)) + (3.219800968289864 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9828070914701065 = (38638.6008773698 - 664.3099306076824) / 38638.6008773698 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_long ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 876.1235357958161 < 10.80961338574765. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5394.6093637903505 (T) = (0 -877.4098166645798) / Math.Sqrt((994.5502424341086 / (299)) + (6.592521163504738 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9229632330933911 = (11389.49428820471 - 877.4098166645798) / 11389.49428820471 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_float_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.654920683769524 < 39.21266457261115. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 824.4396056965583 (T) = (0 -5751.396758110293) / Math.Sqrt((103631.41451929681 / (299)) + (22814.115764735845 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8610086730404642 = (41379.53701085741 - 5751.396758110293) / 41379.53701085741 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 677.1654685459295 < 14.444706083936884. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1515.8321128642515 (T) = (0 -684.2603699406641) / Math.Sqrt((26482.614290527956 / (299)) + (46.1686149281802 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9549704625442473 = (15195.811651697264 - 684.2603699406641) / 15195.811651697264 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_double ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 747.53976499506 < 16.562766430388. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2607.198751624527 (T) = (0 -749.2128759837155) / Math.Sqrt((871.2094100437372 / (299)) + (569.1319213903396 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9569765581441133 = (17414.061815261364 - 749.2128759837155) / 17414.061815261364 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_short ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 661.1808650746522 < 19.696654290876268. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 19841.249176975845 (T) = (0 -659.9582667100201) / Math.Sqrt((293.4819838971722 / (299)) + (0.6196857867394906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9681590080188931 = (20726.68675340297 - 659.9582667100201) / 20726.68675340297 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 662.37627512385 < 16.57368865388039. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1283.3095891653672 (T) = (0 -661.4354000422621) / Math.Sqrt((51352.46126897145 / (299)) + (1.3612221027621219 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9621690175793549 = (17483.96043982468 - 661.4354000422621) / 17483.96043982468 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_int_float ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 436.744887883429 < 8.468712682293235. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 7625.587882112624 (T) = (0 -436.8067677841995) / Math.Sqrt((337.9690374104367 / (299)) + (1.5526679930021348 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9509602184009573 = (8907.192355700176 - 436.8067677841995) / 8907.192355700176 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_uint ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 658.0293104149839 < 16.92628622975506. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1275.8673771350198 (T) = (0 -658.3689192237823) / Math.Sqrt((54213.43749611532 / (299)) + (0.34728844212534976 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9630948280519777 = (17839.475728524907 - 658.3689192237823) / 17839.475728524907 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_byte ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 660.134097927242 < 25.718843781615984. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1069.0012081108312 (T) = (0 -660.1942213708115) / Math.Sqrt((187324.0951409591 / (299)) + (0.6118443247474268 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9759213043963454 = (27418.1887689384 - 660.1942213708115) / 27418.1887689384 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_float ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 877.3146009289692 < 28.509566688721463. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 495.45391348564686 (T) = (0 -1139.9157821457704) / Math.Sqrt((36963.44361059748 / (299)) + (49162.77351513965 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9620463851123848 = (30034.44561265605 - 1139.9157821457704) / 30034.44561265605 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Widen_ushort ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 659.9605474539488 < 19.907872883359474. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4362.629741062074 (T) = (0 -659.3905817233996) / Math.Sqrt((6490.042816318103 / (299)) + (0.5667957746888738 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.968603968847491 = (21002.354677263247 - 659.3905817233996) / 21002.354677263247 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Convert_double_long ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.931533842023735 < 8.574565788287922. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5.965477251581668 (T) = (0 -5602.0534106512505) / Math.Sqrt((147.25159706210866 / (299)) + (4907229.866214273 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.37852496857001144 = (9014.12466686096 - 5602.0534106512505) / 9014.12466686096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorConvert.Narrow_short ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 673.719063638458 < 19.917620920285938. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 9758.446251269192 (T) = (0 -666.8350878115945) / Math.Sqrt((732.5633686565412 / (299)) + (28.153623683643936 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9681939989493513 = (20965.70036420838 - 666.8350878115945) / 20965.70036420838 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20NoneEscaped).html>) 33.63 ms 5.75 ms 0.17 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 68.06 ms 7.53 ms 0.11 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 68.16 ms 7.71 ms 0.11 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 68.16 ms 4.48 ms 0.07 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 50.15 ms 10.49 ms 0.21 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 33.83 ms 5.90 ms 0.17 0.01 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20AllEscaped).html>) 103.03 ms 49.32 ms 0.48 0.01 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20AllEscaped).html>) 103.20 ms 49.40 ms 0.48 0.02 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20NoneEscaped).html>) 66.82 ms 4.12 ms 0.06 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20NoneEscaped).html>) 34.66 ms 6.00 ms 0.17 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 50.35 ms 10.64 ms 0.21 0.00 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 34.94 ms 6.08 ms 0.17 0.00 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20AllEscaped).html>) 193.90 ms 47.37 ms 0.24 0.00 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20AllEscaped).html>) 194.74 ms 47.08 ms 0.24 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20NoneEscaped).html>) 67.81 ms 4.54 ms 0.07 0.00 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20AllEscaped).html>) 195.03 ms 50.30 ms 0.26 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20NoneEscaped).html>) 67.02 ms 4.23 ms 0.06 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 48.99 ms 10.22 ms 0.21 0.02 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20AllEscaped).html>) 102.12 ms 49.40 ms 0.48 0.01 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 69.40 ms 8.05 ms 0.12 0.01 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20AllEscaped).html>) 103.56 ms 49.58 ms 0.48 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20AllEscaped).html>) 193.76 ms 47.08 ms 0.24 0.01 True
[WriteStringsUtf16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted%3a%20False%2c%20SkipValidation%3a%20False%2c%20Escaped%3a%20OneEscaped).html>) 49.16 ms 10.45 ms 0.21 0.00 True
[WriteStringsUtf8 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted%3a%20True%2c%20SkipValidation%3a%20True%2c%20Escaped%3a%20OneEscaped).html>) 69.16 ms 8.05 ms 0.12 0.00 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Strings*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Strings* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Strings*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Strings* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.7450670265780746 < 32.0301737502721. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1461.0810465071331 (T) = (0 -5777490.346854216) / Math.Sqrt((79292061616.0575 / (299)) + (1279344791.4053974 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8256145212161079 = (33130570.200825017 - 5777490.346854216) / 33130570.200825017 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.528082642424242 < 64.64485451294644. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2517.959431384429 (T) = (0 -7579963.718647) / Math.Sqrt((97230429042.45901 / (299)) + (3724374049.0942955 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8883304078060256 = (67878493.77546138 - 7579963.718647) / 67878493.77546138 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.7104575625 < 64.81480735848213. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2405.033208954897 (T) = (0 -7788006.174897987) / Math.Sqrt((69566564457.36066 / (299)) + (5925496917.190385 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8855436063551221 = (68043434.94398147 - 7788006.174897987) / 68043434.94398147 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.477732244391026 < 64.85036154729166. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1697.4432436037664 (T) = (0 -4640749.551097439) / Math.Sqrt((69346661166.08528 / (299)) + (17337988684.515766 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9316288022514525 = (67875797.17653883 - 4640749.551097439) / 67875797.17653883 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.486619333333335 < 47.685180229155215. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1398.7739046806482 (T) = (0 -10604421.26131471) / Math.Sqrt((150812486986.84576 / (299)) + (4387014654.446225 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7882923686616115 = (50089933.90684558 - 10604421.26131471) / 50089933.90684558 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.9001952793650805 < 32.13736280232601. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1342.3353299699654 (T) = (0 -5900990.439194363) / Math.Sqrt((63966142640.31966 / (299)) + (3052490516.469266 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8229338814842806 = (33326479.897228286 - 5900990.439194363) / 33326479.897228286 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.323744133333335 < 98.13999101613094. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 79.29558226307269 (T) = (0 -50233948.483492054) / Math.Sqrt((1767218080934.2288 / (299)) + (6320100732197.155 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5078240950663313 = (102065029.96172102 - 50233948.483492054) / 102065029.96172102 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.40477498333333 < 97.29630442980769. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 416.2676444366087 (T) = (0 -48709291.1607845) / Math.Sqrt((2123635645425.4993 / (299)) + (130002175727.1144 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5176458222529428 = (100982417.91600543 - 48709291.1607845) / 100982417.91600543 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.116353453125 < 63.5499881086195. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1831.5610506601708 (T) = (0 -4122474.4819572275) / Math.Sqrt((66868025466.840096 / (299)) + (14053263514.708433 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9380239884436108 = (66517260.120980434 - 4122474.4819572275) / 66517260.120980434 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.996133264808362 < 32.97135043042517. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1427.3490886393672 (T) = (0 -5997827.677000349) / Math.Sqrt((102541668474.40175 / (299)) + (730394228.7721261 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8248552657420073 = (34244978.602470554 - 5997827.677000349) / 34244978.602470554 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.63795199378882 < 47.86515304375. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1293.4548700903447 (T) = (0 -10658186.510682078) / Math.Sqrt((69180585617.44693 / (299)) + (10568916025.754093 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7878106910089768 = (50229611.29079777 - 10658186.510682078) / 50229611.29079777 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.0841888243902424 < 33.077694956887754. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1736.5094178362133 (T) = (0 -6078700.935474982) / Math.Sqrt((58049645858.033516 / (299)) + (1093545445.096282 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8235812954093283 = (34456102.313974254 - 6078700.935474982) / 34456102.313974254 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.365975053571425 < 184.35715081249998. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1289.5135708340074 (T) = (0 -47514932.55094628) / Math.Sqrt((1717657606547.9324 / (299)) + (106281384482.51346 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7545439579870312 = (193578174.5736608 - 47514932.55094628) / 193578174.5736608 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.08431418333333 < 185.21593832. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1140.1899554307226 (T) = (0 -47394958.705396816) / Math.Sqrt((2046304898526.6584 / (299)) + (148076145286.72876 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7567101989847074 = (194808654.1548764 - 47394958.705396816) / 194808654.1548764 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.541817663020834 < 64.56733178822115. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3279.748452997196 (T) = (0 -4545628.626569941) / Math.Sqrt((71910007580.65654 / (299)) + (1945714644.7947848 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9328079259668343 = (67651262.32487243 - 4545628.626569941) / 67651262.32487243 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.30406788333333 < 185.37530851499997. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 802.3719037939027 (T) = (0 -48183854.32258635) / Math.Sqrt((1011690674255.1804 / (299)) + (419685406189.3202 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7525699460443132 = (194737274.44288468 - 48183854.32258635) / 194737274.44288468 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: NoneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.229776731370192 < 63.683627411249994. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1828.7285621584354 (T) = (0 -4263181.228679983) / Math.Sqrt((67732117357.88796 / (299)) + (14121917445.290905 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9361431830078277 = (66761567.98110645 - 4263181.228679983) / 66761567.98110645 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.217109034285713 < 46.46866375256411. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 807.5106083057 (T) = (0 -10279012.75393281) / Math.Sqrt((624213933471.3687 / (299)) + (2993134248.9131923 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7897869425408288 = (48898069.78774029 - 10279012.75393281) / 48898069.78774029 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.39817326923077 < 97.21566759725273. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 76.60301964446334 (T) = (0 -50276422.363840915) / Math.Sqrt((1878813417225.6584 / (299)) + (6070233057566.254 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5026160296600953 = (101081710.23180094 - 50276422.363840915) / 101081710.23180094 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.051008320099253 < 65.86564080281593. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1203.5142672157604 (T) = (0 -8107801.634357687) / Math.Sqrt((70969439912.98383 / (299)) + (35058234319.74913 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8827918767309106 = (69174400.27380694 - 8107801.634357687) / 69174400.27380694 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 49.58239338333333 < 98.51611820724361. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 525.4132926598795 (T) = (0 -49625555.77897437) / Math.Sqrt((1838114726230.439 / (299)) + (58097182453.663414 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5145277588333271 = (102221201.48356096 - 49625555.77897437) / 102221201.48356096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: AllEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.0782055 < 184.08949998166665. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 861.8113372691314 (T) = (0 -47639022.772240534) / Math.Sqrt((2502332588009.6987 / (299)) + (304081376936.0641 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7537897864194095 = (193489222.3983517 - 47639022.772240534) / 193489222.3983517 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.452001089285714 < 46.61800642291667. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1318.4203804590306 (T) = (0 -10423750.470999185) / Math.Sqrt((52257761982.85649 / (299)) + (10221040148.258991 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7872765249456213 = (49001411.19044127 - 10423750.470999185) / 49001411.19044127 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.053040193548386 < 65.68768444095238. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2335.9414727546955 (T) = (0 -7933698.374810891) / Math.Sqrt((67555695568.749344 / (299)) + (6856756082.387693 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8849927234265943 = (68984316.56841335 - 7933698.374810891) / 68984316.56841335 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.IO.Tests.Perf_RandomAccess

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Read - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.Read(fileSize%3a%20104857600%2c%20bufferSize%3a%2016384%2c%20options%3a%20None).html>) 12.27 ms 11.30 ms 0.92 0.12 False
[ReadScatter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize%3a%201048576%2c%20buffersSize%3a%2016384%2c%20options%3a%20Asynchronous).html>) 159.27 μs 100.19 μs 0.63 0.01 True
[Read - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.Read(fileSize%3a%201048576%2c%20bufferSize%3a%204096%2c%20options%3a%20Asynchronous).html>) 215.31 μs 189.40 μs 0.88 0.01 True
[ReadScatter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize%3a%20104857600%2c%20buffersSize%3a%2065536%2c%20options%3a%20Asynchronous).html>) 10.43 ms 8.89 ms 0.85 0.19 False
[Read - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.Read(fileSize%3a%20104857600%2c%20bufferSize%3a%2016384%2c%20options%3a%20Asynchronous).html>) 12.38 ms 11.29 ms 0.91 0.11 False
[ReadScatter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize%3a%20104857600%2c%20buffersSize%3a%2065536%2c%20options%3a%20None).html>) 10.70 ms 9.58 ms 0.90 0.15 False
[ReadScatter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize%3a%201048576%2c%20buffersSize%3a%2016384%2c%20options%3a%20None).html>) 160.27 μs 100.63 μs 0.63 0.02 True
[Read - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_RandomAccess.Read(fileSize%3a%201048576%2c%20bufferSize%3a%204096%2c%20options%3a%20None).html>) 219.98 μs 188.62 μs 0.86 0.02 True

graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_RandomAccess*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_RandomAccess* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_RandomAccess*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_RandomAccess* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.Perf_RandomAccess.Read(fileSize: 104857600, bufferSize: 16384, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.298425044642856 < 11.63166658869763. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5.693027032333359 (T) = (0 -11642004.50642094) / Math.Sqrt((101144391816.69797 / (227)) + (212823043983.4373 / (15))) is greater than 1.9698976350765727 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (227) + (15) - 2, .975) and 0.05585139133949626 = (12330690.740452241 - 11642004.50642094) / 12330690.740452241 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize: 1048576, buffersSize: 16384, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.19004822580648 < 151.38960099729343. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 177.92174075311573 (T) = (0 -99422.19514422554) / Math.Sqrt((3676932.8196159713 / (299)) + (1452668.056945883 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3715473294981219 = (158201.5636353771 - 99422.19514422554) / 158201.5636353771 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.Read(fileSize: 1048576, bufferSize: 4096, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 189.39705281841654 < 205.2101938296029. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 16.70525105061718 (T) = (0 -192259.77941569255) / Math.Sqrt((4774497.529370413 / (299)) + (29317181.663093954 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10870921552396662 = (215709.37651814392 - 192259.77941569255) / 215709.37651814392 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize: 104857600, buffersSize: 65536, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.885109129166667 < 10.165134112044269. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 27.611312979481212 (T) = (0 -9002005.780700548) / Math.Sqrt((115093944286.91327 / (299)) + (48261318838.810585 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15547279885946452 = (10659225.384976733 - 9002005.780700548) / 10659225.384976733 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.Read(fileSize: 104857600, bufferSize: 16384, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.289531455357144 < 11.819570168694197. IsChangePoint: Marked as a change because one of 5/13/2023 6:35:24 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 17.509565177725268 (T) = (0 -11333166.33448489) / Math.Sqrt((91488073342.74391 / (299)) + (13609665302.970608 / (5))) is greater than 1.9678502273660254 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (5) - 2, .975) and 0.07835379748201093 = (12296656.030830534 - 11333166.33448489) / 12296656.030830534 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize: 104857600, buffersSize: 65536, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.577102712053572 < 10.238447720033482. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 15.809665192266143 (T) = (0 -9200520.250001526) / Math.Sqrt((118019836538.75357 / (229)) + (125634053271.73058 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.1394341257287076 = (10691244.592742324 - 9200520.250001526) / 10691244.592742324 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.ReadScatter(fileSize: 1048576, buffersSize: 16384, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.63494755184333 < 151.04023667851067. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 159.65822204839787 (T) = (0 -99869.59161009517) / Math.Sqrt((4143030.3774908 / (230)) + (1753552.3725408209 / (15))) is greater than 1.9697743954265454 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (230) + (15) - 2, .975) and 0.36996223740902834 = (158513.65987872024 - 99869.59161009517) / 158513.65987872024 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_RandomAccess.Read(fileSize: 1048576, bufferSize: 4096, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 188.61790045180726 < 204.39966660316776. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.65782688638252 (T) = (0 -190551.2751290918) / Math.Sqrt((6210528.511726004 / (227)) + (1697421.2507448604 / (15))) is greater than 1.9698976350765727 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (227) + (15) - 2, .975) and 0.11899447137145491 = (216288.39880916706 - 190551.2751290918) / 216288.39880916706 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.CtorFromCollectionNonGeneric<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorFromCollectionNonGeneric(String).Queue(Size%3a%20512).html>) 47.78 μs 5.90 μs 0.12 0.15 True
[ArrayList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorFromCollectionNonGeneric(String).ArrayList(Size%3a%20512).html>) 1.01 μs 533.68 ns 0.53 0.46 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorFromCollectionNonGeneric(String).Stack(Size%3a%20512).html>) 44.69 μs 4.76 μs 0.11 0.25 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorFromCollectionNonGeneric(String).SortedList(Size%3a%20512).html>) 680.60 μs 228.99 μs 0.34 0.09 True
[Hashtable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorFromCollectionNonGeneric(String).Hashtable(Size%3a%20512).html>) 76.38 μs 27.72 μs 0.36 0.01 True

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorFromCollectionNonGeneric<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorFromCollectionNonGeneric<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorFromCollectionNonGeneric<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorFromCollectionNonGeneric<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorFromCollectionNonGeneric<String>.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.9037526873381525 < 45.49594740021615. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 563.4413782406413 (T) = (0 -5888.885839253769) / Math.Sqrt((1602892.7122506695 / (299)) + (198.19276311793345 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8752186236668441 = (47193.627865835784 - 5888.885839253769) / 47193.627865835784 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<String>.ArrayList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 533.6764504178569 < 935.5793184790716. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 146.3899034063375 (T) = (0 -539.7859384069808) / Math.Sqrt((2264.414099960028 / (299)) + (19.692911467802492 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4470364482208407 = (976.1691103694275 - 539.7859384069808) / 976.1691103694275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<String>.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.755090191780983 < 42.374289450418416. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 134.31841509338093 (T) = (0 -5103.20909410261) / Math.Sqrt((4508199.264979879 / (299)) + (1160363.6527212737 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8889163627909346 = (45940.241266119985 - 5103.20909410261) / 45940.241266119985 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<String>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 228.98710682975113 < 646.318729878414. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 470.7896725406341 (T) = (0 -226989.87007994953) / Math.Sqrt((173425340.67331713 / (299)) + (5605992.34057727 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6694789906938677 = (686763.8173938557 - 226989.87007994953) / 686763.8173938557 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorFromCollectionNonGeneric<String>.Hashtable(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.71923547935103 < 71.86434279590061. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 349.39603917774434 (T) = (0 -27529.94290319241) / Math.Sqrt((578459.6464574893 / (299)) + (254998.13730039846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6358849181438354 = (75607.80718791398 - 27529.94290319241) / 75607.80718791398 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.IO.Tests.BinaryWriterTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteSingle - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteSingle.html>) 16.54 ns 2.21 ns 0.13 0.03 True
[WriteNonAsciiChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteNonAsciiChar.html>) 29.27 ns 4.25 ns 0.15 0.02 True
[WriteAsciiChar - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteAsciiChar.html>) 28.37 ns 3.60 ns 0.13 0.04 True
[WriteBool - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteBool.html>) 3.05 ns 0.85 ns 0.28 0.25 True
[WriteUInt16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteUInt16.html>) 16.31 ns 1.74 ns 0.11 0.01 True
[DefaultCtor - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.DefaultCtor.html>) 25.82 ns 10.06 ns 0.39 0.13 True
[WriteDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteDouble.html>) 18.16 ns 1.73 ns 0.10 0.01 True
[WriteUInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteUInt32.html>) 16.52 ns 1.73 ns 0.10 0.02 True
[WriteUInt64 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.BinaryWriterTests.WriteUInt64.html>) 17.46 ns 1.73 ns 0.10 0.01 True

graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.BinaryWriterTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.BinaryWriterTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.BinaryWriterTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.BinaryWriterTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.BinaryWriterTests.WriteSingle ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.212326149638188 < 15.722689185876487. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 179.25872018314024 (T) = (0 -1.9369971332385867) / Math.Sqrt((0.015488158354097652 / (299)) + (0.09930770749800431 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8831699073366461 = (16.57960795101008 - 1.9369971332385867) / 16.57960795101008 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteNonAsciiChar ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.25111754987948 < 27.819425002599456. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 388.8668715516336 (T) = (0 -4.134735422736347) / Math.Sqrt((0.006509090532846624 / (299)) + (0.06245683718380167 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8588481859998084 = (29.292825260685166 - 4.134735422736347) / 29.292825260685166 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteAsciiChar ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.600342178777603 < 26.963497579356684. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 330.96367102898233 (T) = (0 -3.5792956951211594) / Math.Sqrt((0.08561560962789226 / (299)) + (0.08003966528260223 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8739491615488969 = (28.395651620434244 - 3.5792956951211594) / 28.395651620434244 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteBool ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.8534590891679026 < 2.580920339416468. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 53.90164729722199 (T) = (0 -0.9499356465395266) / Math.Sqrt((0.02936821753427041 / (299)) + (0.01508878381758424 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6534362035254075 = (2.741012350980432 - 0.9499356465395266) / 2.741012350980432 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteUInt16 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7365353490991575 < 15.4810873730463. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 949.6324977395385 (T) = (0 -1.751728465549138) / Math.Sqrt((0.007961025305545018 / (299)) + (0.003103332239791689 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8922890127988302 = (16.263229138151605 - 1.751728465549138) / 16.263229138151605 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.DefaultCtor ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.062508428794784 < 24.17353669566844. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 223.08806971595288 (T) = (0 -9.951720908741583) / Math.Sqrt((0.47542094971200977 / (299)) + (0.04839297493554281 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6087211346968079 = (25.43383195775281 - 9.951720908741583) / 25.43383195775281 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteDouble ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7277632553322184 < 17.360739114892528. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1998.1728152276207 (T) = (0 -1.7396656692039134) / Math.Sqrt((0.016533776195509622 / (299)) + (0.00018789562539051077 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9049559671261664 = (18.30378632515768 - 1.7396656692039134) / 18.30378632515768 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteUInt32 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7273360504002853 < 15.671600793769286. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 511.0957648395464 (T) = (0 -1.7114211176086103) / Math.Sqrt((0.009456169454165159 / (299)) + (0.012124032131706151 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8964247482267116 = (16.523456021663062 - 1.7114211176086103) / 16.523456021663062 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.BinaryWriterTests.WriteUInt64 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.726083159810931 < 16.596645129646035. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1669.5864318088336 (T) = (0 -1.735672671260963) / Math.Sqrt((0.006658645367262561 / (299)) + (0.0009930612830199676 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9004768477318529 = (17.439888425001918 - 1.735672671260963) / 17.439888425001918 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in PerfLabTests.CastingPerf

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CheckArrayIsInterfaceNo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckArrayIsInterfaceNo.html>) 174.03 μs 21.79 μs 0.13 0.01 True
[CheckObjIsInterfaceYes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckObjIsInterfaceYes.html>) 184.93 μs 21.77 μs 0.12 0.01 True
[AssignArrayElementByVariance - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.AssignArrayElementByVariance.html>) 216.05 ns 5.27 ns 0.02 0.04 True
[CheckIsInstAnyIsInterfaceYes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes.html>) 184.86 μs 21.77 μs 0.12 0.01 True
[CheckIsInstAnyIsInterfaceNo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceNo.html>) 137.81 μs 21.75 μs 0.16 0.02 True
[CheckArrayIsInterfaceYes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckArrayIsInterfaceYes.html>) 246.51 μs 21.77 μs 0.09 0.01 True
[CheckObjIsInterfaceNo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckObjIsInterfaceNo.html>) 152.29 μs 21.76 μs 0.14 0.02 False
[CheckArrayIsVariantGenericInterfaceReflection - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckArrayIsVariantGenericInterfaceReflection.html>) 160.08 ns 0.01 ns 0.00 0.12 True
[CheckArrayIsVariantGenericInterfaceNo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.CheckArrayIsVariantGenericInterfaceNo.html>) 3.38 ns 2.12 ns 0.63 0.10 False
[FooObjCastIfIsa - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.CastingPerf.FooObjCastIfIsa.html>) 336.65 μs 284.04 μs 0.84 0.04 True

graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'PerfLabTests.CastingPerf*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter PerfLabTests.CastingPerf* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'PerfLabTests.CastingPerf*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter PerfLabTests.CastingPerf* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.CastingPerf.CheckArrayIsInterfaceNo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.78938073351903 < 165.3195995390625. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 487.99314583695565 (T) = (0 -21777.91039051225) / Math.Sqrt((30165398.241380226 / (299)) + (442.85388770174524 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8768224227062967 = (176800.93137881134 - 21777.91039051225) / 176800.93137881134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckObjIsInterfaceYes ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.767136875746125 < 175.63150923142908. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 613.7530175743345 (T) = (0 -21776.315189494097) / Math.Sqrt((21635519.308680482 / (299)) + (1317.291638835433 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8835331918582362 = (186974.4310583997 - 21776.315189494097) / 186974.4310583997 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.AssignArrayElementByVariance ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.26996103668297 < 204.7682797763177. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 642.0464361953705 (T) = (0 -5.491522906700572) / Math.Sqrt((12.291610317107065 / (299)) + (0.9998758306657362 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9746071103530305 = (216.26222864147076 - 5.491522906700572) / 216.26222864147076 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceYes ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.76846780001987 < 175.6532819170168. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 595.9145774035097 (T) = (0 -21766.982306858965) / Math.Sqrt((23004233.942790657 / (299)) + (220.7871513203872 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8836456733175801 = (187074.9711462837 - 21766.982306858965) / 187074.9711462837 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckIsInstAnyIsInterfaceNo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.74941779256904 < 130.88597035389955. IsChangePoint: Marked as a change because one of 3/13/2023 12:04:12 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 183.39501258728347 (T) = (0 -21763.040189635496) / Math.Sqrt((120558718.038761 / (299)) + (107.35105059379703 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8425446573024753 = (138217.22284421176 - 21763.040189635496) / 138217.22284421176 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckArrayIsInterfaceYes ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.771379657033428 < 228.9020986173291. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 614.4072812633843 (T) = (0 -21777.121590176543) / Math.Sqrt((38845463.49942953 / (299)) + (33.97044552578193 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9104695189972012 = (243236.95512700037 - 21777.121590176543) / 243236.95512700037 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckObjIsInterfaceNo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.761639741134562 < 144.65880938348792. IsChangePoint: Marked as a change because one of 3/13/2023 12:04:12 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 163.57878631985602 (T) = (0 -21768.10629325779) / Math.Sqrt((163922397.66989055 / (299)) + (148.24998869903152 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8476558559234465 = (142887.7127191659 - 21768.10629325779) / 142887.7127191659 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckArrayIsVariantGenericInterfaceReflection ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.013663527852146504 < 152.53517086194444. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 674.6435074998616 (T) = (0 -0.008203186607273818) / Math.Sqrt((16.834485197545902 / (299)) + (4.935460110071784E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9999487600170603 = (160.09346874550042 - 0.008203186607273818) / 160.09346874550042 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.CheckArrayIsVariantGenericInterfaceNo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.117339567416148 < 3.213893769744943. IsChangePoint: Marked as a change because one of 3/29/2023 11:36:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 10.946338737287943 (T) = (0 -2.0738044512384035) / Math.Sqrt((0.04817922878617401 / (299)) + (0.1528330460826752 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34938037405238326 = (3.1874299030219717 - 2.0738044512384035) / 3.1874299030219717 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.CastingPerf.FooObjCastIfIsa ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 284.0434407738095 < 320.15593505762405. IsChangePoint: Marked as a change because one of 3/13/2023 12:04:12 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 39.34508562612123 (T) = (0 -280621.54733358935) / Math.Sqrt((36780357.86571487 / (299)) + (31989222.47516227 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1739450153642746 = (339712.9156690921 - 280621.54733358935) / 339712.9156690921 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.CtorDefaultSize<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).SortedDictionary.html>) 38.46 ns 17.52 ns 0.46 0.04 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).SortedList.html>) 15.25 ns 11.40 ns 0.75 0.14 False
[ConcurrentStack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).ConcurrentStack.html>) 6.70 ns 4.47 ns 0.67 0.16 False
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).SortedSet.html>) 12.05 ns 6.95 ns 0.58 0.08 True
[LinkedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).LinkedList.html>) 7.91 ns 5.06 ns 0.64 0.06 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).HashSet.html>) 12.68 ns 5.88 ns 0.46 0.07 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).Stack.html>) 8.26 ns 4.87 ns 0.59 0.10 True
[List - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).List.html>) 9.05 ns 4.92 ns 0.54 0.09 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).Queue.html>) 8.85 ns 5.66 ns 0.64 0.08 True
[ConcurrentQueue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).ConcurrentQueue.html>) 106.85 ns 56.56 ns 0.53 0.46 False
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).ConcurrentDictionary.html>) 209.25 ns 121.66 ns 0.58 0.03 True
[ConcurrentBag - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).ConcurrentBag.html>) 690.13 ns 434.28 ns 0.63 0.18 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorDefaultSize(Int32).Dictionary.html>) 14.96 ns 7.92 ns 0.53 0.10 True

graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorDefaultSize<Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorDefaultSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorDefaultSize<Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorDefaultSize<Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorDefaultSize<Int32>.SortedDictionary ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.524151738449213 < 36.487831836578174. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 181.4658281835317 (T) = (0 -17.768028214834192) / Math.Sqrt((0.3837019018865647 / (299)) + (0.17062417731461046 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5346799289190876 = (38.18453000224138 - 17.768028214834192) / 38.18453000224138 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.SortedList ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.397340029395345 < 14.512888295066103. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 89.03598728021981 (T) = (0 -11.408259783666177) / Math.Sqrt((0.16660496308916417 / (299)) + (0.011548625328607964 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.221375127681536 = (14.651804982412768 - 11.408259783666177) / 14.651804982412768 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.ConcurrentStack ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.474310145260273 < 6.404366965626198. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 53.31667246166714 (T) = (0 -4.600287067296244) / Math.Sqrt((0.09510250502269717 / (299)) + (0.02146770403713531 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.32647889446938555 = (6.830204769414076 - 4.600287067296244) / 6.830204769414076 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.SortedSet ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.946197304339829 < 11.14255428585972. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 103.37179300981211 (T) = (0 -6.880074516016093) / Math.Sqrt((0.08050563663122706 / (299)) + (0.024533220451836892 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.4031818436239786 = (11.527924280643612 - 6.880074516016093) / 11.527924280643612 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.LinkedList ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.060601461441132 < 7.410551397987292. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 98.83576913246193 (T) = (0 -5.227316927583442) / Math.Sqrt((0.02931872944213556 / (299)) + (0.008061911788932945 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.32923481056518145 = (7.7930653079775025 - 5.227316927583442) / 7.7930653079775025 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.HashSet ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.876475658171927 < 12.71986649107478. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 169.62193839323956 (T) = (0 -5.834374419205084) / Math.Sqrt((0.07360240053608802 / (299)) + (0.02262799617903791 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5491098800745836 = (12.939681224707634 - 5.834374419205084) / 12.939681224707634 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.Stack ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.865954112194012 < 7.8678433476520775. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 114.44081993547948 (T) = (0 -5.035022932572511) / Math.Sqrt((0.040333043083736766 / (299)) + (0.009323098102863577 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.38466155851422135 = (8.182526221529551 - 5.035022932572511) / 8.182526221529551 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.List ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.91526785080593 < 8.888064112925973. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 114.42305100778583 (T) = (0 -5.084224380646099) / Math.Sqrt((0.03735368780344621 / (299)) + (0.01722562557898073 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4453911714974262 = (9.167225834419808 - 5.084224380646099) / 9.167225834419808 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.Queue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.657750910763189 < 8.45262889891788. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 82.8085937584791 (T) = (0 -5.294330501941269) / Math.Sqrt((0.11416081388857385 / (299)) + (0.020821131026030087 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3968696912307791 = (8.778087297163287 - 5.294330501941269) / 8.778087297163287 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.ConcurrentQueue ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 56.56257093358398 < 110.63490717617628. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 119.87869434926397 (T) = (0 -54.25069187154244) / Math.Sqrt((49.936228649595435 / (299)) + (0.7678906877127544 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5079245981322603 = (110.24873762359691 - 54.25069187154244) / 110.24873762359691 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.ConcurrentDictionary ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 121.66006278286908 < 198.90781629792372. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 114.09839309028966 (T) = (0 -121.54950943110916) / Math.Sqrt((7.769213386133454 / (299)) + (8.42591905291982 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.41847917018042824 = (209.02004399192765 - 121.54950943110916) / 209.02004399192765 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.ConcurrentBag ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 434.2790121671345 < 640.0812600697833. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 70.80728119088852 (T) = (0 -427.66208920148165) / Math.Sqrt((421.34899714390343 / (299)) + (181.47763480981774 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.37830673825615646 = (687.8988651121836 - 427.66208920148165) / 687.8988651121836 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorDefaultSize<Int32>.Dictionary ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.917493788617344 < 13.404018846421032. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 120.77610177231911 (T) = (0 -7.9169959809940735) / Math.Sqrt((0.10552841713669132 / (299)) + (0.0352089208415411 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4421876530128313 = (14.192937864776571 - 7.9169959809940735) / 14.192937864776571 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Memory.Span<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareTo(Size%3a%20512).html>) 1.00 μs 18.29 ns 0.02 0.03 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).GetPinnableReference(Size%3a%20512).html>) 2.72 ns 1.09 ns 0.40 0.01 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Fill(Size%3a%20512).html>) 314.13 ns 10.82 ns 0.03 0.02 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Fill(Size%3a%2033).html>) 27.42 ns 2.56 ns 0.09 0.11 True
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareTo(Size%3a%204).html>) 22.96 ns 4.12 ns 0.18 0.02 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceEqual(Size%3a%204).html>) 23.97 ns 3.47 ns 0.14 0.02 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFourValues(Size%3a%2033).html>) 56.58 ns 7.05 ns 0.12 0.18 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareToDifferent(Size%3a%204).html>) 31.85 ns 4.76 ns 0.15 0.00 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).GetPinnableReference(Size%3a%204).html>) 2.71 ns 1.10 ns 0.41 0.02 True
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyTwoValues(Size%3a%204).html>) 13.93 ns 2.95 ns 0.21 0.07 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFourValues(Size%3a%20512).html>) 672.01 ns 18.63 ns 0.03 0.19 True
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyThreeValues(Size%3a%2033).html>) 43.80 ns 4.44 ns 0.10 0.03 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Reverse(Size%3a%204).html>) 12.14 ns 2.24 ns 0.18 0.14 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfAnyValues(Size%3a%20512).html>) 420.92 ns 11.46 ns 0.03 0.52 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).EndsWith(Size%3a%2033).html>) 65.69 ns 4.56 ns 0.07 0.02 True
[Fill - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Fill(Size%3a%204).html>) 9.32 ns 1.88 ns 0.20 0.03 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFiveValues(Size%3a%20512).html>) 757.04 ns 21.83 ns 0.03 0.19 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareToDifferent(Size%3a%2033).html>) 47.38 ns 4.99 ns 0.11 0.02 True
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfValue(Size%3a%204).html>) 11.52 ns 2.52 ns 0.22 0.01 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFiveValues(Size%3a%204).html>) 31.12 ns 7.11 ns 0.23 0.11 True
[SequenceCompareTo - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareTo(Size%3a%2033).html>) 76.63 ns 4.75 ns 0.06 0.03 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).ToArray(Size%3a%204).html>) 18.69 ns 8.73 ns 0.47 0.01 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).EndsWith(Size%3a%204).html>) 35.99 ns 3.50 ns 0.10 0.04 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfAnyValues(Size%3a%204).html>) 12.78 ns 1.92 ns 0.15 0.10 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).BinarySearch(Size%3a%204).html>) 18.75 ns 3.17 ns 0.17 0.05 True
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfValue(Size%3a%20512).html>) 193.53 ns 11.67 ns 0.06 0.02 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Clear(Size%3a%20512).html>) 22.90 ns 15.99 ns 0.70 0.31 False
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).ToArray(Size%3a%2033).html>) 48.71 ns 11.63 ns 0.24 0.03 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfValue(Size%3a%2033).html>) 20.92 ns 2.92 ns 0.14 0.12 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).StartsWith(Size%3a%2033).html>) 49.55 ns 3.09 ns 0.06 0.02 True
[ToArray - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).ToArray(Size%3a%20512).html>) 444.33 ns 52.84 ns 0.12 0.00 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).BinarySearch(Size%3a%2033).html>) 24.88 ns 5.69 ns 0.23 0.04 True
[BinarySearch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).BinarySearch(Size%3a%20512).html>) 31.25 ns 9.61 ns 0.31 0.03 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceEqual(Size%3a%2033).html>) 89.32 ns 4.14 ns 0.05 0.02 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Reverse(Size%3a%2033).html>) 36.52 ns 2.18 ns 0.06 0.14 False
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyThreeValues(Size%3a%204).html>) 15.20 ns 4.13 ns 0.27 0.12 True
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyTwoValues(Size%3a%20512).html>) 376.19 ns 14.29 ns 0.04 0.02 True
[Reverse - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Reverse(Size%3a%20512).html>) 407.98 ns 13.67 ns 0.03 0.11 False
[IndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfValue(Size%3a%2033).html>) 20.51 ns 3.55 ns 0.17 0.02 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Clear(Size%3a%2033).html>) 16.25 ns 3.03 ns 0.19 0.22 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).StartsWith(Size%3a%20512).html>) 514.36 ns 9.40 ns 0.02 0.04 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfValue(Size%3a%204).html>) 10.58 ns 1.67 ns 0.16 0.10 True
[EndsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).EndsWith(Size%3a%20512).html>) 507.68 ns 10.54 ns 0.02 0.01 True
[IndexOfAnyFourValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFourValues(Size%3a%204).html>) 28.14 ns 5.34 ns 0.19 0.11 True
[IndexOfAnyFiveValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyFiveValues(Size%3a%2033).html>) 72.94 ns 7.25 ns 0.10 0.05 True
[IndexOfAnyTwoValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyTwoValues(Size%3a%2033).html>) 34.83 ns 3.93 ns 0.11 0.03 True
[GetPinnableReference - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).GetPinnableReference(Size%3a%2033).html>) 2.74 ns 1.04 ns 0.38 0.00 True
[LastIndexOfAnyValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfAnyValues(Size%3a%2033).html>) 37.45 ns 3.45 ns 0.09 0.18 True
[Clear - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).Clear(Size%3a%204).html>) 9.46 ns 2.88 ns 0.30 0.01 True
[SequenceEqual - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceEqual(Size%3a%20512).html>) 1.00 μs 17.04 ns 0.02 0.03 True
[StartsWith - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).StartsWith(Size%3a%204).html>) 35.71 ns 2.69 ns 0.08 0.03 True
[IndexOfAnyThreeValues - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).IndexOfAnyThreeValues(Size%3a%20512).html>) 444.23 ns 16.32 ns 0.04 0.02 True
[SequenceCompareToDifferent - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).SequenceCompareToDifferent(Size%3a%20512).html>) 47.12 ns 4.94 ns 0.10 0.01 True
[LastIndexOfValue - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Span(Char).LastIndexOfValue(Size%3a%20512).html>) 205.58 ns 10.11 ns 0.05 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Span<Char>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Span<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Span<Char>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Span<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Span<Char>.SequenceCompareTo(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.288062849814775 < 946.0399837472796. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1621.8966590729337 (T) = (0 -17.77204747553537) / Math.Sqrt((104.56668261542761 / (299)) + (0.22506880323956796 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.982179421672768 = (997.276696030535 - 17.77204747553537) / 997.276696030535 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.GetPinnableReference(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0943603270481925 < 2.5882137763090993. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 353.30878855153827 (T) = (0 -1.0369956978203951) / Math.Sqrt((0.0009229944032028256 / (299)) + (0.00030190097048847525 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6214318207115541 = (2.739257429849294 - 1.0369956978203951) / 2.739257429849294 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Fill(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.81960858316316 < 298.6599116326867. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 572.6813131173524 (T) = (0 -11.615762013540337) / Math.Sqrt((11.691818674247457 / (299)) + (3.665412679732125 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9633015224752273 = (316.51890751324254 - 11.615762013540337) / 316.51890751324254 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Fill(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.563243746767024 < 26.014954573460244. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 356.6279797946125 (T) = (0 -2.445416682162557) / Math.Sqrt((1.1183953144790566 / (299)) + (0.019224125819186533 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9117763927151025 = (27.71839372046593 - 2.445416682162557) / 27.71839372046593 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceCompareTo(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.124893547322783 < 21.857166379188264. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 639.0013959507703 (T) = (0 -4.0593470793589415) / Math.Sqrt((0.02432302598368416 / (299)) + (0.011837225412219437 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8228330704375543 = (22.912555347572063 - 4.0593470793589415) / 22.912555347572063 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceEqual(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.467187348102435 < 22.765712978994213. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 526.6272228759385 (T) = (0 -3.3927349646347515) / Math.Sqrt((0.00808773080040953 / (299)) + (0.020960103222327872 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8583574034248338 = (23.952787132325067 - 3.3927349646347515) / 23.952787132325067 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.048073234564715 < 53.89174214235369. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 347.5443384072472 (T) = (0 -6.7026665778113665) / Math.Sqrt((6.4262978202075045 / (299)) + (0.028940556896428583 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8880869232454515 = (59.891719289532816 - 6.7026665778113665) / 59.891719289532816 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.761293085128613 < 30.205044390395432. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3936.6046998786946 (T) = (0 -4.76405422222146) / Math.Sqrt((0.012720557442718203 / (299)) + (6.661767008497484E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8503688146821039 = (31.83864521356346 - 4.76405422222146) / 31.83864521356346 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.GetPinnableReference(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0992979674213297 < 2.5766348040015656. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 257.2963914161044 (T) = (0 -1.0414456868081805) / Math.Sqrt((0.0012364051953943698 / (299)) + (0.0005911318916148779 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6198116158337993 = (2.7392885479449807 - 1.0414456868081805) / 2.7392885479449807 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.9469441458013064 < 13.242427431278285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 397.3585308785246 (T) = (0 -2.898123002818791) / Math.Sqrt((0.0852707216317392 / (299)) + (0.00744711865911697 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7931028234334448 = (14.007552209812372 - 2.898123002818791) / 14.007552209812372 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.628782752341728 < 637.7282678478118. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 239.72699944181056 (T) = (0 -18.81238057440945) / Math.Sqrt((1955.3125859702889 / (299)) + (0.03819089423209967 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9702322850691003 = (631.972612546141 - 18.81238057440945) / 631.972612546141 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.439074285699794 < 41.61265535045996. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 736.1374561308702 (T) = (0 -4.482917090778439) / Math.Sqrt((0.8980284922718885 / (299)) + (0.00048480663115768423 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9004734457143373 = (45.04242232592016 - 4.482917090778439) / 45.04242232592016 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Reverse(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2378058726250214 < 10.61030963869945. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 161.58169246431785 (T) = (0 -2.27025548253031) / Math.Sqrt((0.9103888453294883 / (299)) + (0.001969277591934727 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8004424821998046 = (11.376446788656574 - 2.27025548253031) / 11.376446788656574 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.462843888647381 < 375.74894228245245. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 364.60748495204496 (T) = (0 -12.412728821086427) / Math.Sqrt((348.3506351136497 / (299)) + (0.0882967900050429 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9694984629995403 = (406.95420761581227 - 12.412728821086427) / 406.95420761581227 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.EndsWith(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.55773826304837 < 62.306452786778785. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1158.2360749188192 (T) = (0 -4.455205018947566) / Math.Sqrt((0.211150154099359 / (299)) + (0.031202634123418543 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9320789447599629 = (65.59387222714079 - 4.455205018947566) / 65.59387222714079 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Fill(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.879268938395917 < 8.832144619785144. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 243.5304449987844 (T) = (0 -1.9620501391441085) / Math.Sqrt((0.052725011072546825 / (299)) + (0.010890846838872972 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7885192004682411 = (9.277675058389683 - 1.9620501391441085) / 9.277675058389683 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 21.825912836463527 < 759.5660238857164. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 568.4354582895717 (T) = (0 -21.5767702865731) / Math.Sqrt((500.02248128596193 / (299)) + (0.6817682375270564 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9718535297225409 = (766.5888501782331 - 21.5767702865731) / 766.5888501782331 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.989623389165552 < 45.021770605470735. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 991.3823979338999 (T) = (0 -5.037198523786899) / Math.Sqrt((0.039706477958604464 / (299)) + (0.02527144258808723 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8935113090182325 = (47.30266169437037 - 5.037198523786899) / 47.30266169437037 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfValue(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5249531951671407 < 10.940911410752872. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1101.6731246831116 (T) = (0 -2.5123874877352366) / Math.Sqrt((0.00955323229869944 / (299)) + (0.0005318420275311377 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7826146931568824 = (11.557301292439119 - 2.5123874877352366) / 11.557301292439119 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.106783563582421 < 29.709129937521062. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 278.09436551983333 (T) = (0 -6.579652108767918) / Math.Sqrt((0.9262212969056862 / (299)) + (0.07432041429567986 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.791350900317411 = (31.534533907777806 - 6.579652108767918) / 31.534533907777806 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceCompareTo(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.754918807611038 < 72.42569149467826. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1036.7731789912 (T) = (0 -4.831465188153955) / Math.Sqrt((0.38462737913328193 / (299)) + (0.051550636809991376 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.936497792066428 = (76.08342048843447 - 4.831465188153955) / 76.08342048843447 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.ToArray(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.732566340097542 < 17.848312039369407. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 514.7732874928805 (T) = (0 -8.5788855331774) / Math.Sqrt((0.04028501571268159 / (299)) + (0.0038219994036945734 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5421846985630432 = (18.738747932300708 - 8.5788855331774) / 18.738747932300708 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.EndsWith(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.50262063085277 < 34.185941496874875. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 570.4535353022945 (T) = (0 -3.3581341379239436) / Math.Sqrt((0.11423222911403157 / (299)) + (0.04370724291580221 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9069966058285801 = (36.10765142328429 - 3.3581341379239436) / 36.10765142328429 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9178636324864822 < 12.088156303357193. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 407.523461772874 (T) = (0 -1.9235831937715628) / Math.Sqrt((0.11649659044392752 / (299)) + (0.004602690799231005 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8482786501874807 = (12.678394940122253 - 1.9235831937715628) / 12.678394940122253 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.BinarySearch(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.1660183423455095 < 17.809625878056583. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 304.8596064553441 (T) = (0 -3.2738901818792265) / Math.Sqrt((0.10938887553660333 / (299)) + (0.031339586066426554 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8261515388749169 = (18.831861729990685 - 3.2738901818792265) / 18.831861729990685 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfValue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.67484399415209 < 183.34592669821066. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 358.75315914406053 (T) = (0 -11.689596190620595) / Math.Sqrt((75.83192054732527 / (299)) + (0.2164258075225201 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9407905063946979 = (197.42773462216894 - 11.689596190620595) / 197.42773462216894 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Clear(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.986258138151763 < 21.712919303001488. IsChangePoint: Marked as a change because one of 3/3/2023 11:43:56 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 80.52596713006764 (T) = (0 -16.07290862157208) / Math.Sqrt((1.4689612866296669 / (299)) + (0.05374593795209056 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3159090019502989 = (23.495278650639893 - 16.07290862157208) / 23.495278650639893 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.ToArray(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.63498634506025 < 46.45270093491246. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 866.3586039298622 (T) = (0 -11.564883428533099) / Math.Sqrt((0.4108227703858195 / (299)) + (0.006722706050163632 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7617797851589685 = (48.54702795163939 - 11.564883428533099) / 48.54702795163939 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfValue(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.919586830359357 < 19.887999562193976. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 346.44928793787653 (T) = (0 -2.957524171751145) / Math.Sqrt((0.32278888346824947 / (299)) + (0.025903394109413665 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.861220865098186 = (21.311014612128755 - 2.957524171751145) / 21.311014612128755 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.StartsWith(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.0891131310746305 < 47.12798330408322. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 784.3545375165377 (T) = (0 -3.3262424074120376) / Math.Sqrt((0.029566435965303988 / (299)) + (0.05070045980446524 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9329241901621853 = (49.58929926384336 - 3.3262424074120376) / 49.58929926384336 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.ToArray(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.843824965249766 < 421.91322779200163. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1710.1210726832135 (T) = (0 -52.91518842682584) / Math.Sqrt((8.090687352850338 / (299)) + (0.36893650833133634 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8801703315333215 = (441.58670472780426 - 52.91518842682584) / 441.58670472780426 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.BinarySearch(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.6931169058305935 < 23.7278681133637. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 280.99529524836163 (T) = (0 -5.868372987320523) / Math.Sqrt((0.1228350917013728 / (299)) + (0.06467431871764276 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.766928047910349 = (25.178374895419662 - 5.868372987320523) / 25.178374895419662 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.BinarySearch(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.611130166944116 < 29.50255009673547. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 393.956379156289 (T) = (0 -9.147939016687149) / Math.Sqrt((0.21117988437173635 / (299)) + (0.03610499113822761 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7061323990782388 = (31.129457578832177 - 9.147939016687149) / 31.129457578832177 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceEqual(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.135840071607977 < 84.84591351153618. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1714.0735755156772 (T) = (0 -4.088993305727568) / Math.Sqrt((0.33421960548716056 / (299)) + (0.020648570602842208 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9544127523972631 = (89.69599001370906 - 4.088993305727568) / 89.69599001370906 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Reverse(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1817884497693916 < 34.387056134822544. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 137.62023879899016 (T) = (0 -2.2550973650718875) / Math.Sqrt((13.556234809029565 / (299)) + (0.006631844128634317 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9288633211344601 = (31.70090874405866 - 2.2550973650718875) / 31.70090874405866 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.130362856713535 < 14.44238786447937. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 378.1833719552068 (T) = (0 -4.10995003878896) / Math.Sqrt((0.25389930930468446 / (299)) + (0.0008361932741313465 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7346081005122121 = (15.48634320309419 - 4.10995003878896) / 15.48634320309419 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.293315913661633 < 357.0482124548168. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 478.435643537995 (T) = (0 -14.211594453668734) / Math.Sqrt((178.97914074554586 / (299)) + (0.03161496424530694 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9630889153022588 = (385.02240099539665 - 14.211594453668734) / 385.02240099539665 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Reverse(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.67240999697663 < 387.44299444696685. IsChangePoint: Marked as a change because one of 3/20/2023 8:31:51 AM, 4/22/2023 7:07:45 PM, 5/3/2023 6:00:09 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 80.76347315168951 (T) = (0 -13.88070400300919) / Math.Sqrt((4320.915850749511 / (299)) + (0.17701598568778085 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9567614985924123 = (321.0264822122945 - 13.88070400300919) / 321.0264822122945 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfValue(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.54654104535847 < 19.478794267808645. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 304.84767272784393 (T) = (0 -3.5716012822254055) / Math.Sqrt((0.06282814988243285 / (299)) + (0.04430706782357709 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8276165149788934 = (20.718929552840283 - 3.5716012822254055) / 20.718929552840283 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Clear(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.028377093685342 < 15.452407411919054. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 264.5531813314015 (T) = (0 -2.9336162718631233) / Math.Sqrt((0.46852259563257337 / (299)) + (0.015273294281185476 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8209544335737156 = (16.38474680170835 - 2.9336162718631233) / 16.38474680170835 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.StartsWith(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.402002770125927 < 489.03017167408717. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1297.781770526996 (T) = (0 -9.554529668015116) / Math.Sqrt((43.33001332524808 / (299)) + (0.07347314740391561 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9813341646029051 = (511.8725985070113 - 9.554529668015116) / 511.8725985070113 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfValue(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6709575741562206 < 10.05589463683904. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 285.4435373977346 (T) = (0 -1.6329913531075209) / Math.Sqrt((0.24936775942922088 / (299)) + (0.0028903157679612016 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8493590875213479 = (10.840291168170788 - 1.6329913531075209) / 10.840291168170788 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.EndsWith(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.543413809815283 < 483.245488889783. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2049.3428969359584 (T) = (0 -10.658041402564216) / Math.Sqrt((17.67991158877426 / (299)) + (0.009327752888670316 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9791673972516528 = (511.603928290228 - 10.658041402564216) / 511.603928290228 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFourValues(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.344183156583668 < 26.731128394235274. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 347.66130477674864 (T) = (0 -5.534457063282456) / Math.Sqrt((0.26885339652523893 / (299)) + (0.05121061842103624 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8048990246316261 = (28.367141952174972 - 5.534457063282456) / 28.367141952174972 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyFiveValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.245975924764092 < 69.26373679830206. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 460.3537488279104 (T) = (0 -7.554830037101763) / Math.Sqrt((2.278894885725992 / (299)) + (0.16840382028596257 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8932284576244631 = (70.75696266079889 - 7.554830037101763) / 70.75696266079889 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyTwoValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.9324878496024778 < 33.099399212288965. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 527.7530367549678 (T) = (0 -3.929269120324053) / Math.Sqrt((1.1235357514164552 / (299)) + (0.00046059312898645745 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8920893537806958 = (36.4122471506536 - 3.929269120324053) / 36.4122471506536 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.GetPinnableReference(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.03561754050658 < 2.612050017083051. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 581.8219682871314 (T) = (0 -1.030853813897511) / Math.Sqrt((0.0007343778535215416 / (299)) + (9.220655123056025E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6234199907887314 = (2.737409816459966 - 1.030853813897511) / 2.737409816459966 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfAnyValues(Size: 33) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.453065311535516 < 34.98264992379146. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 378.4944217032569 (T) = (0 -3.317464005903747) / Math.Sqrt((1.4859852184669318 / (299)) + (0.04854339089106851 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9117796352216742 = (37.60428801490047 - 3.317464005903747) / 37.60428801490047 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.Clear(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8806915228191388 < 8.991657705178113. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 418.11850876512614 (T) = (0 -2.8560718925054918) / Math.Sqrt((0.0012178747686861443 / (299)) + (0.0037219354933067427 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6992392729600678 = (9.496159690178862 - 2.8560718925054918) / 9.496159690178862 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceEqual(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.04497279010008 < 0.951691882552289. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1362.4846602908892 (T) = (0 -16.654115450635597) / Math.Sqrt((149.63175752471383 / (299)) + (0.2633487860797239 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9833001591064559 = (997.2619234398671 - 16.654115450635597) / 997.2619234398671 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.StartsWith(Size: 4) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.694526312456145 < 33.947925145027746. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 212.51051215783923 (T) = (0 -2.779182897805321) / Math.Sqrt((0.007893939930568498 / (299)) + (0.36087817098653197 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9222810113572982 = (35.759380639679755 - 2.779182897805321) / 35.759380639679755 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.IndexOfAnyThreeValues(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.315823198664145 < 422.22112302965314. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 375.3684467795775 (T) = (0 -16.221880973573924) / Math.Sqrt((413.10534840597575 / (299)) + (0.019652160478655725 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9645538322944003 = (457.64837283132374 - 16.221880973573924) / 457.64837283132374 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.SequenceCompareToDifferent(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.944347151810601 < 44.77129096474409. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 748.2821834502641 (T) = (0 -5.0511448702411155) / Math.Sqrt((0.021620573414818572 / (299)) + (0.04669352681855477 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8931708374693782 = (47.28245312971769 - 5.0511448702411155) / 47.28245312971769 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Span<Char>.LastIndexOfValue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.10662456802912 < 194.85074710919312. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 458.3111702045089 (T) = (0 -9.784346049596621) / Math.Sqrt((49.277748263613105 / (299)) + (0.0934787245733204 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9509134023238031 = (199.3282588893147 - 9.784346049596621) / 199.3282588893147 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Memory.Constructors<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[MemoryMarshalCreateSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).MemoryMarshalCreateSpan.html>) 7.82 ns 0.67 ns 0.09 0.05 True
[SpanImplicitCastFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).SpanImplicitCastFromArray.html>) 8.81 ns 2.08 ns 0.24 0.04 True
[SpanFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).SpanFromArrayStartLength.html>) 9.72 ns 5.36 ns 0.55 0.02 True
[ArrayAsSpanStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ArrayAsSpanStartLength.html>) 9.97 ns 6.89 ns 0.69 0.00 True
[SpanFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).SpanFromArray.html>) 8.81 ns 4.51 ns 0.51 0.02 True
[ReadOnlySpanImplicitCastFromSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanImplicitCastFromSpan.html>) 8.42 ns 1.50 ns 0.18 0.04 True
[MemoryFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).MemoryFromArray.html>) 9.75 ns 5.15 ns 0.53 0.03 True
[ArrayAsSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ArrayAsSpan.html>) 8.85 ns 5.59 ns 0.63 0.02 True
[ArrayAsMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ArrayAsMemory.html>) 9.85 ns 6.03 ns 0.61 0.00 True
[SpanFromMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).SpanFromMemory.html>) 10.08 ns 1.91 ns 0.19 0.02 True
[ReadOnlyMemoryFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlyMemoryFromArrayStartLength.html>) 9.85 ns 3.22 ns 0.33 0.01 True
[ReadOnlyMemoryFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlyMemoryFromArray.html>) 9.22 ns 3.19 ns 0.35 0.03 True
[ArrayAsMemoryStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ArrayAsMemoryStartLength.html>) 14.02 ns 7.34 ns 0.52 0.02 True
[ReadOnlySpanImplicitCastFromArraySegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanImplicitCastFromArraySegment.html>) 21.30 ns 1.72 ns 0.08 0.06 True
[ReadOnlySpanFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanFromArray.html>) 8.24 ns 0.25 ns 0.03 0.03 True
[MemoryFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).MemoryFromArrayStartLength.html>) 10.38 ns 5.81 ns 0.56 0.02 True
[ReadOnlySpanFromMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanFromMemory.html>) 10.22 ns 1.91 ns 0.19 0.01 True
[ReadOnlySpanImplicitCastFromArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanImplicitCastFromArray.html>) 8.27 ns 1.06 ns 0.13 0.01 True
[ReadOnlySpanFromArrayStartLength - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).ReadOnlySpanFromArrayStartLength.html>) 9.19 ns 0.52 ns 0.06 0.02 True
[SpanImplicitCastFromArraySegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).SpanImplicitCastFromArraySegment.html>) 21.82 ns 2.81 ns 0.13 0.10 True
[MemoryMarshalCreateReadOnlySpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.Constructors(String).MemoryMarshalCreateReadOnlySpan.html>) 7.85 ns 0.67 ns 0.08 0.05 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Constructors<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Constructors<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.Constructors<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.Constructors<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.Constructors<String>.MemoryMarshalCreateSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.6659261786891045 < 7.435316553724378. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 331.7122803865468 (T) = (0 -0.7135934853562339) / Math.Sqrt((0.010397329976039572 / (299)) + (0.006473395712433941 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9094061045840747 = (7.8768385229496625 - 0.7135934853562339) / 7.8768385229496625 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.SpanImplicitCastFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.0796324646727062 < 8.383907155741577. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 147.98672055432914 (T) = (0 -2.065330529801842) / Math.Sqrt((0.006167213405259241 / (299)) + (0.0312566972862822 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7667359199760069 = (8.854044435771703 - 2.065330529801842) / 8.854044435771703 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.SpanFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.364766868524066 < 9.276428822787413. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 408.37611998612607 (T) = (0 -5.374034882769195) / Math.Sqrt((0.03460449432955574 / (299)) + (4.919966840024655E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4532557032092916 = (9.82915581253215 - 5.374034882769195) / 9.82915581253215 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ArrayAsSpanStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.891741759558277 < 9.442406145618243. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 483.7730893039196 (T) = (0 -6.886901482484155) / Math.Sqrt((0.009670705589153502 / (299)) + (8.557806934740323E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3023089030793363 = (9.870989486436406 - 6.886901482484155) / 9.870989486436406 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.SpanFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.511304442655482 < 8.369620600173786. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 811.7107072030418 (T) = (0 -4.511473479930587) / Math.Sqrt((0.008172902624188903 / (299)) + (2.2819530078918893E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4914793028092236 = (8.871759802213251 - 4.511473479930587) / 8.871759802213251 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanImplicitCastFromSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.5024094817241838 < 8.002443617789542. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 173.92732290970022 (T) = (0 -1.3586416345398609) / Math.Sqrt((0.007537273185716733 / (299)) + (0.02455241680157429 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8392011444759329 = (8.449324033506633 - 1.3586416345398609) / 8.449324033506633 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.MemoryFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.151370194373212 < 9.253741523519498. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 432.9312134724885 (T) = (0 -5.154235805843165) / Math.Sqrt((0.03365265847833125 / (299)) + (4.8275872494992786E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47472244537733793 = (9.812404433587036 - 5.154235805843165) / 9.812404433587036 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ArrayAsSpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.594701353639977 < 8.415126344094595. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 65.33845827423998 (T) = (0 -5.641520166419926) / Math.Sqrt((0.15146876147369154 / (299)) + (0.02930119880716835 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36485109046728154 = (8.882200822119673 - 5.641520166419926) / 8.882200822119673 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ArrayAsMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.034486156504182 < 9.278231587500223. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 731.4695552429778 (T) = (0 -6.0413280276824) / Math.Sqrt((0.006861023931220739 / (299)) + (5.0811700471815844E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3832224453881072 = (9.794986835219555 - 6.0413280276824) / 9.794986835219555 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.SpanFromMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9107203249077824 < 9.631804713498289. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 844.9117900577387 (T) = (0 -1.9215143879063146) / Math.Sqrt((0.005165969822889016 / (299)) + (0.001144488184276445 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8096525412450913 = (10.094773003407713 - 1.9215143879063146) / 10.094773003407713 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlyMemoryFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.224333650508552 < 9.356274581996765. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1511.607676498127 (T) = (0 -3.2132150788012104) / Math.Sqrt((0.004018142195114457 / (299)) + (8.107024869095853E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6735136746112802 = (9.841806008185811 - 3.2132150788012104) / 9.841806008185811 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlyMemoryFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.1939146569339414 < 8.742379739888994. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 218.9065933700946 (T) = (0 -3.2537739841934252) / Math.Sqrt((0.028218762814078657 / (299)) + (0.009713786052724804 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6469647493771639 = (9.216569672442095 - 3.2537739841934252) / 9.216569672442095 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ArrayAsMemoryStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.335975647936605 < 13.07468981405854. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 492.80908704304545 (T) = (0 -7.337782883802656) / Math.Sqrt((0.03353100702697573 / (299)) + (0.0008152320230885061 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4642623900051165 = (13.696598384930889 - 7.337782883802656) / 13.696598384930889 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanImplicitCastFromArraySegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.7184272549284054 < 20.218677566115232. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 433.72748314213214 (T) = (0 -1.716376696602709) / Math.Sqrt((0.6430363035389469 / (299)) + (0.00011208997871297616 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9215023326903579 = (21.8653210398251 - 1.716376696602709) / 21.8653210398251 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.24911601898236338 < 7.85464489820665. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 798.8501760674428 (T) = (0 -0.22379099161634733) / Math.Sqrt((0.006848157920431301 / (299)) + (0.0011904085766113487 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9730444423760095 = (8.302220816132294 - 0.22379099161634733) / 8.302220816132294 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.MemoryFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.813432947964805 < 9.848943492264121. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 867.3107236598286 (T) = (0 -5.8085993477080455) / Math.Sqrt((0.006608273199676519 / (299)) + (6.706111379544046E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.43492898878657993 = (10.279414856612087 - 5.8085993477080455) / 10.279414856612087 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanFromMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.9137546499730695 < 9.649591823097694. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 572.9436807532186 (T) = (0 -1.9434760814729704) / Math.Sqrt((0.002653299703158303 / (299)) + (0.002922495218613318 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8079733861102402 = (10.120868363531615 - 1.9434760814729704) / 10.120868363531615 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanImplicitCastFromArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0587559815535124 < 7.921118419988844. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1284.314701868816 (T) = (0 -1.0454945077501576) / Math.Sqrt((0.006796664996150882 / (299)) + (0.00013843351739386647 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8741302027481197 = (8.30615867012164 - 1.0454945077501576) / 8.30615867012164 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.ReadOnlySpanFromArrayStartLength ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.5173052821436279 < 8.740440540978467. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 499.3831805781548 (T) = (0 -0.5157439586835048) / Math.Sqrt((0.0886589496144961 / (299)) + (2.364795700213589E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.943432135418742 = (9.117260524173654 - 0.5157439586835048) / 9.117260524173654 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.SpanImplicitCastFromArraySegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8055145403952912 < 20.652243208473937. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 152.4053088081193 (T) = (0 -3.063585008283488) / Math.Sqrt((0.728000144151893 / (299)) + (0.20108901348861902 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8622817179149745 = (22.24530368736427 - 3.063585008283488) / 22.24530368736427 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.Constructors<String>.MemoryMarshalCreateReadOnlySpan ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.665918958095543 < 7.44892251575608. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 297.2950799756117 (T) = (0 -0.7291615771906926) / Math.Sqrt((0.0068311511049907025 / (299)) + (0.00769684906583991 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9070336864170497 = (7.843288058744961 - 0.7291615771906926) / 7.843288058744961 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Microsoft.Extensions.Logging.EventSourceLogger

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20False%2c%20Json%3a%20False).html>) 136.61 ns 86.64 ns 0.63 0.09 True
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20False%2c%20Json%3a%20True).html>) 133.06 ns 85.44 ns 0.64 0.12 True
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20True%2c%20Json%3a%20False).html>) 1.88 μs 831.71 ns 0.44 0.13 True
[NestedScopes_TwoMessages - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers%3a%20True%2c%20Json%3a%20True).html>) 4.93 μs 1.57 μs 0.32 0.11 True

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Logging.EventSourceLogger*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Logging.EventSourceLogger* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Logging.EventSourceLogger*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Logging.EventSourceLogger* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: False, Json: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 86.64104337700358 < 127.25626374063012. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 115.831337698084 (T) = (0 -86.07143733611915) / Math.Sqrt((21.690029778010224 / (299)) + (1.6232428024053767 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3639315705156085 = (135.31788931245998 - 86.07143733611915) / 135.31788931245998 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: False, Json: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 85.43731502455607 < 128.37465007358105. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 77.14261385124163 (T) = (0 -85.95224146129786) / Math.Sqrt((24.16619907817889 / (299)) + (5.031398741782835 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3667068660426289 = (135.72268015001654 - 85.95224146129786) / 135.72268015001654 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 831.7123266106145 < 1.8010235463364648. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 240.75188841140792 (T) = (0 -838.5211475652517) / Math.Sqrt((2680.126409744714 / (299)) + (127.80308723451584 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5455646329954438 = (1845.1934168161797 - 838.5211475652517) / 1845.1934168161797 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: True) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.568278166936182 < 4.704406940181533. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 442.61213087412716 (T) = (0 -1558.6784501388524) / Math.Sqrt((15559.587709028558 / (299)) + (92.15262687507115 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6841458390728286 = (4934.804232318621 - 1558.6784501388524) / 4934.804232318621 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.CtorGivenSizeNonGeneric

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorGivenSizeNonGeneric.SortedList(Size%3a%20512).html>) 585.46 ns 302.60 ns 0.52 0.06 True
[Stack - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorGivenSizeNonGeneric.Stack(Size%3a%20512).html>) 284.71 ns 148.16 ns 0.52 0.04 True
[Queue - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorGivenSizeNonGeneric.Queue(Size%3a%20512).html>) 285.80 ns 144.46 ns 0.51 0.06 True
[Hashtable - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorGivenSizeNonGeneric.Hashtable(Size%3a%20512).html>) 8.92 μs 582.40 ns 0.07 0.46 True
[ArrayList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.CtorGivenSizeNonGeneric.ArrayList(Size%3a%20512).html>) 280.61 ns 148.84 ns 0.53 0.07 True

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorGivenSizeNonGeneric*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorGivenSizeNonGeneric* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.CtorGivenSizeNonGeneric*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.CtorGivenSizeNonGeneric* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.CtorGivenSizeNonGeneric.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 302.59979737807936 < 550.3892728629993. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 224.47705338851037 (T) = (0 -304.6921813626895) / Math.Sqrt((115.2570803680595 / (299)) + (16.850750729721593 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47505776742601424 = (580.4299262962157 - 304.6921813626895) / 580.4299262962157 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorGivenSizeNonGeneric.Stack(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 148.16419638472763 < 267.89632891612126. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 189.73199604569334 (T) = (0 -144.2845260394097) / Math.Sqrt((26.03819620958224 / (299)) + (6.58701944117784 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48820376562556866 = (281.9179125375331 - 144.2845260394097) / 281.9179125375331 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorGivenSizeNonGeneric.Queue(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 144.45990967494888 < 274.496008681282. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 248.43229164185593 (T) = (0 -147.00813680302605) / Math.Sqrt((35.42141018144645 / (299)) + (3.1145669893424306 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.49110419390646837 = (288.87669154028544 - 147.00813680302605) / 288.87669154028544 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorGivenSizeNonGeneric.Hashtable(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 582.3960861609665 < 8.138353852272974. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 294.19443519954217 (T) = (0 -591.6092128452394) / Math.Sqrt((218029.42872766335 / (299)) + (78.88679328022738 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9309232503357412 = (8564.520127549455 - 591.6092128452394) / 8564.520127549455 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.CtorGivenSizeNonGeneric.ArrayList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 148.83704937389476 < 266.1986729262469. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 190.32352377310997 (T) = (0 -143.59328138706425) / Math.Sqrt((25.87746302284664 / (299)) + (6.51220996453001 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48886288496599445 = (280.9290837303237 - 143.59328138706425) / 280.9290837303237 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Reflection.Invoke

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[StaticMethod4_int_string_struct_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.StaticMethod4_int_string_struct_class.html>) 96.87 ns 48.89 ns 0.50 0.03 True
[Method0_NoParms - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Method0_NoParms.html>) 232.64 ns 14.34 ns 0.06 0.09 True
[StaticMethod4_arrayNotCached_int_string_struct_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.StaticMethod4_arrayNotCached_int_string_struct_class.html>) 130.61 ns 69.14 ns 0.53 0.04 True
[Field_Set_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Field_Set_class.html>) 560.99 ns 47.66 ns 0.08 0.15 True
[Field_Get_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Field_Get_int.html>) 588.46 ns 52.23 ns 0.09 0.08 True
[Ctor4_ActivatorCreateInstance - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Ctor4_ActivatorCreateInstance.html>) 2.71 μs 344.73 ns 0.13 0.06 True
[Field_Set_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Field_Set_int.html>) 497.46 ns 47.30 ns 0.10 0.11 True
[Field_Get_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Field_Get_class.html>) 551.23 ns 37.01 ns 0.07 0.08 True
[Property_Set_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Property_Set_class.html>) 307.79 ns 31.48 ns 0.10 0.15 True
[StaticMethod5_arrayNotCached_int_string_struct_class_bool - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.StaticMethod5_arrayNotCached_int_string_struct_class_bool.html>) 191.90 ns 100.14 ns 0.52 0.09 True
[StaticMethod5_ByRefParams_int_string_struct_class_bool - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool.html>) 749.95 ns 345.07 ns 0.46 0.09 True
[Property_Set_int - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Property_Set_int.html>) 301.03 ns 33.82 ns 0.11 0.13 True
[Ctor0_NoParams - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Ctor0_NoParams.html>) 24.21 ns 12.73 ns 0.53 0.02 True
[StaticMethod4_ByRefParams_int_string_struct_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class.html>) 549.49 ns 233.68 ns 0.43 0.10 True
[Ctor0_ActivatorCreateInstance_NoParams - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Ctor0_ActivatorCreateInstance_NoParams.html>) 131.01 ns 8.70 ns 0.07 0.10 True
[Ctor4_int_string_struct_class - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Invoke.Ctor4_int_string_struct_class.html>) 93.30 ns 50.24 ns 0.54 0.06 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Reflection.Invoke*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Reflection.Invoke* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Reflection.Invoke*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Reflection.Invoke* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Reflection.Invoke.StaticMethod4_int_string_struct_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 48.8884139596603 < 90.26266922758838. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 185.95176947166902 (T) = (0 -49.09230772133604) / Math.Sqrt((3.508126191884703 / (299)) + (0.7044688262760391 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4785395673599841 = (94.14387870771844 - 49.09230772133604) / 94.14387870771844 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Method0_NoParms ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.339478155581038 < 221.40568282988076. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 673.468540852743 (T) = (0 -14.15696716897982) / Math.Sqrt((31.608525174699423 / (299)) + (0.08111940490701322 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9406808382224904 = (238.65757277688522 - 14.15696716897982) / 238.65757277688522 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod4_arrayNotCached_int_string_struct_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.14426165782906 < 124.79301462545787. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 160.59684517479806 (T) = (0 -68.53319112096091) / Math.Sqrt((6.46466195084738 / (299)) + (2.074504755327315 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48376624096802495 = (132.75612050144133 - 68.53319112096091) / 132.75612050144133 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Field_Set_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.66460238302638 < 554.0849274498455. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 518.0032724852128 (T) = (0 -47.46758730054092) / Math.Sqrt((299.137028443065 / (299)) + (0.32008111573554504 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9168818774095923 = (571.0858934393078 - 47.46758730054092) / 571.0858934393078 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Field_Get_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 52.22712864461358 < 528.7327741369048. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 608.561943596682 (T) = (0 -52.432087921209494) / Math.Sqrt((167.63554457837793 / (299)) + (2.3177002306984384 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9075399206031542 = (567.0781191541805 - 52.432087921209494) / 567.0781191541805 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Ctor4_ActivatorCreateInstance ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 344.73364858307457 < 2.610209039375. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 735.4928780073544 (T) = (0 -345.73981577228403) / Math.Sqrt((2978.0187151167297 / (299)) + (12.623786659987463 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8748673088365486 = (2762.9855360552456 - 345.73981577228403) / 2762.9855360552456 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Field_Set_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.30343939597676 < 493.5468957937491. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 561.9918760388317 (T) = (0 -46.942308965926756) / Math.Sqrt((196.4092906560415 / (299)) + (0.18276321272510598 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9073446626047084 = (506.63361966573757 - 46.942308965926756) / 506.63361966573757 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Field_Get_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 37.00688716666666 < 498.2033802561432. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 639.1435276923949 (T) = (0 -35.1151324409406) / Math.Sqrt((149.51997023611887 / (299)) + (1.3569815842084825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9332756935808916 = (526.2719738197892 - 35.1151324409406) / 526.2719738197892 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Property_Set_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.481190200463878 < 281.0974486137629. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 453.70735913118955 (T) = (0 -31.548274608958376) / Math.Sqrt((102.5206493741054 / (299)) + (0.3049130319001064 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8965569779483665 = (304.9821436308298 - 31.548274608958376) / 304.9821436308298 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod5_arrayNotCached_int_string_struct_class_bool ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 100.14232632575758 < 181.69095067708332. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 203.36624007591396 (T) = (0 -100.94749917985031) / Math.Sqrt((29.626443962891337 / (299)) + (1.3646614047040506 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.47178412477564424 = (191.1103090890133 - 100.94749917985031) / 191.1103090890133 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod5_ByRefParams_int_string_struct_class_bool ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 345.06558483796294 < 714.8040515401785. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 299.2996345994826 (T) = (0 -342.3281909908566) / Math.Sqrt((329.1131915522891 / (299)) + (12.934685612505348 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5505563230354314 = (761.6709468533556 - 342.3281909908566) / 761.6709468533556 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Property_Set_int ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.81889497383004 < 282.97267610634583. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 507.78348373706024 (T) = (0 -34.466438544328916) / Math.Sqrt((69.40601681080389 / (299)) + (0.7704969109382854 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8869327348073015 = (304.83127442402 - 34.466438544328916) / 304.83127442402 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Ctor0_NoParams ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.731448175808863 < 23.0957700615567. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 111.76958319235605 (T) = (0 -12.860789925535267) / Math.Sqrt((3.848441862665728 / (299)) + (0.006922650754674453 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5008707490654303 = (25.766452079205376 - 12.860789925535267) / 25.766452079205376 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.StaticMethod4_ByRefParams_int_string_struct_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 233.67854232226105 < 523.846201290153. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 307.3686393173001 (T) = (0 -235.8359708179046) / Math.Sqrt((220.26526756167775 / (299)) + (5.268429355711397 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5761617906541402 = (556.4292355375117 - 235.8359708179046) / 556.4292355375117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Ctor0_ActivatorCreateInstance_NoParams ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.695276090883825 < 121.36578284729652. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 474.2318054333822 (T) = (0 -8.80023654909118) / Math.Sqrt((17.98013584437793 / (299)) + (0.04676677546036554 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9312853638734855 = (128.0693174724604 - 8.80023654909118) / 128.0693174724604 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Invoke.Ctor4_int_string_struct_class ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 50.2389308467742 < 88.93865010276338. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 82.73713042473253 (T) = (0 -51.77773353125808) / Math.Sqrt((5.387987186182582 / (299)) + (3.9021541213133433 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.45733783724464283 = (95.41430577794034 - 51.77773353125808) / 95.41430577794034 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.Sort<IntClass>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[LinqQuery - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Sort(IntClass).LinqQuery(Size%3a%20512).html>) 81.91 μs 54.14 μs 0.66 0.03 True
[Array_ComparerClass - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Sort(IntClass).Array_ComparerClass(Size%3a%20512).html>) 52.40 μs 38.91 μs 0.74 0.03 True
[Array_Comparison - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Sort(IntClass).Array_Comparison(Size%3a%20512).html>) 46.88 μs 39.44 μs 0.84 0.03 True
[LinqOrderByExtension - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Sort(IntClass).LinqOrderByExtension(Size%3a%20512).html>) 82.92 μs 53.98 μs 0.65 0.04 True
[Array_ComparerStruct - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Sort(IntClass).Array_ComparerStruct(Size%3a%20512).html>) 58.70 μs 45.80 μs 0.78 0.09 True

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Sort<IntClass>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Sort<IntClass>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Sort<IntClass>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Sort<IntClass>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Sort<IntClass>.LinqQuery(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 54.14086580000001 < 78.34498333811904. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 62.7359508381002 (T) = (0 -52754.069205133084) / Math.Sqrt((3724606.7912589866 / (299)) + (3414449.374153019 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.36816814695658495 = (83493.84246936375 - 52754.069205133084) / 83493.84246936375 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntClass>.Array_ComparerClass(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.911552653333324 < 49.09081798067948. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 52.991002933709495 (T) = (0 -39957.609074175816) / Math.Sqrt((1248133.5325545955 / (299)) + (732702.4843734226 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23393409480051508 = (52159.492809917945 - 39957.609074175816) / 52159.492809917945 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntClass>.Array_Comparison(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 39.43664995714285 < 45.36557642299999. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 66.00730244131258 (T) = (0 -39508.34643970697) / Math.Sqrt((1352353.9518158755 / (299)) + (230084.79563627066 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.19058363611073428 = (48810.90647817939 - 39508.34643970697) / 48810.90647817939 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntClass>.LinqOrderByExtension(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.983986542857146 < 78.6746413525. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 63.037093929278164 (T) = (0 -51891.68878399267) / Math.Sqrt((3827952.9451544876 / (299)) + (3343545.310292282 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.37863672657248126 = (83512.64228693712 - 51891.68878399267) / 83512.64228693712 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Sort<IntClass>.Array_ComparerStruct(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.7996296 < 56.12922645650001. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 46.67482416316973 (T) = (0 -44003.27854896704) / Math.Sqrt((2252763.475697607 / (299)) + (1926531.9669892602 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2811588690993349 = (61214.1913663643 - 44003.27854896704) / 61214.1913663643 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.IO.Tests.Perf_File

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[WriteAllText - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.WriteAllText(size%3a%2010000).html>) 75.90 μs 25.71 μs 0.34 0.01 True
[Exists - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.Exists.html>) 1.53 μs 1.09 μs 0.71 0.02 True
[ReadAllBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllBytes(size%3a%204096).html>) 7.26 μs 5.40 μs 0.74 0.01 True
[AppendAllText - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.AppendAllText(size%3a%20100).html>) 9.69 μs 7.03 μs 0.73 0.01 True
[AppendAllLines - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.AppendAllLines.html>) 17.62 μs 9.10 μs 0.52 0.01 True
[AppendAllText - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.AppendAllText(size%3a%2010000).html>) 48.00 μs 13.79 μs 0.29 0.01 True
[Delete - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.Delete.html>) 7.78 μs 6.13 μs 0.79 0.55 False
[ReadAllLines - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllLines.html>) 49.81 μs 10.38 μs 0.21 0.01 True
[CopyTo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.CopyTo(size%3a%204096).html>) 31.87 μs 26.11 μs 0.82 0.01 True
[ReadAllBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllBytes(size%3a%20512).html>) 6.75 μs 5.13 μs 0.76 0.01 True
[CopyTo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.CopyTo(size%3a%20512).html>) 31.41 μs 25.73 μs 0.82 0.00 True
[ReadAllBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllBytes(size%3a%20104857600).html>) 31.38 ms 18.09 ms 0.58 0.19 True
[ReadAllBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllBytes(size%3a%2016384).html>) 16.15 μs 6.32 μs 0.39 0.01 True
[ReadAllBytes - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.ReadAllBytes(size%3a%201048576).html>) 324.07 μs 153.88 μs 0.47 0.08 True
[WriteAllText - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_File.WriteAllText(size%3a%20100000).html>) 536.69 μs 77.50 μs 0.14 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_File*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_File* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_File*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_File* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.Perf_File.WriteAllText(size: 10000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.712166694124104 < 72.11472778888613. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 514.2647949703261 (T) = (0 -25608.59578209674) / Math.Sqrt((499590.09806918947 / (299)) + (113844.79434781968 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6589936603562617 = (75097.12519963991 - 25608.59578209674) / 75097.12519963991 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.Exists ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0860270767616318 < 1.4559910994961935. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 239.1073424016153 (T) = (0 -1089.4515262282837) / Math.Sqrt((342.8996902706614 / (299)) + (33.417294440389846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.287332978195693 = (1528.6964218858423 - 1089.4515262282837) / 1528.6964218858423 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllBytes(size: 4096) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.40397430140337 < 6.918172525451739. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 115.61030402290703 (T) = (0 -5389.048874724383) / Math.Sqrt((9251.93549045661 / (299)) + (3070.338848596076 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.24772865515496062 = (7163.703511575965 - 5389.048874724383) / 7163.703511575965 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.AppendAllText(size: 100) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.031016775297618 < 9.365123421235404. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 131.62829046380332 (T) = (0 -6983.232788489264) / Math.Sqrt((31748.53342248362 / (299)) + (3696.6427058516306 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2614236221443018 = (9454.990706260627 - 6983.232788489264) / 9454.990706260627 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.AppendAllLines ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.104201889583333 < 17.035899461940737. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 242.77402872599475 (T) = (0 -9002.536777776253) / Math.Sqrt((66623.43094363024 / (299)) + (14601.204020367795 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48259113362262185 = (17399.270408346943 - 9002.536777776253) / 17399.270408346943 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.AppendAllText(size: 10000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.78723925 < 45.55306758663461. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 640.4202469106289 (T) = (0 -13878.33731556777) / Math.Sqrt((90312.40378115825 / (299)) + (36652.57874492136 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7074247018275628 = (47435.095861675225 - 13878.33731556777) / 47435.095861675225 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.Delete ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.129021428571429 < 7.1121005833333335. IsChangePoint: Marked as a change because one of 5/8/2023 6:34:59 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2.8998754191102516 (T) = (0 -6876.622128816103) / Math.Sqrt((259130.5961810566 / (299)) + (721521.0083618764 / (24))) is greater than 1.967381707010986 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (24) - 2, .975) and 0.0690436421779746 = (7386.621371708527 - 6876.622128816103) / 7386.621371708527 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllLines ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.380662091553244 < 47.366071055475146. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 852.2734824005606 (T) = (0 -10381.128392473935) / Math.Sqrt((394012.0390291442 / (299)) + (12549.59564144485 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7921275414788234 = (49939.893270740205 - 10381.128392473935) / 49939.893270740205 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.CopyTo(size: 4096) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 26.11386554861111 < 30.295492362058795. IsChangePoint: Marked as a change because one of 5/3/2023 6:00:09 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 64.79070071511443 (T) = (0 -25937.932814039737) / Math.Sqrt((259976.1557578624 / (299)) + (68670.14158172088 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15566486345227096 = (30719.94956895117 - 25937.932814039737) / 30719.94956895117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllBytes(size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.132123529448889 < 6.469745270726535. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 137.8383419099477 (T) = (0 -5122.244375075378) / Math.Sqrt((8872.648630826861 / (299)) + (1594.1781190585646 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.23882868168860694 = (6729.423786538266 - 5122.244375075378) / 6729.423786538266 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.CopyTo(size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 25.733181980119635 < 29.950791584169185. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 82.67314225776795 (T) = (0 -25735.821263952548) / Math.Sqrt((203684.21829143242 / (299)) + (42220.692899991656 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.1596188385440767 = (30623.986405604777 - 25735.821263952548) / 30623.986405604777 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllBytes(size: 104857600) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.0869583 < 30.429796998385417. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 156.10707567989664 (T) = (0 -18367067.859000374) / Math.Sqrt((920432171517.2266 / (299)) + (62364408985.29049 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4196133646908995 = (31646262.58014797 - 18367067.859000374) / 31646262.58014797 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllBytes(size: 16384) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.3187999715467065 < 15.332314863182079. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 561.7002989742182 (T) = (0 -6343.9918661911715) / Math.Sqrt((46662.60331412661 / (299)) + (1877.7661555334596 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5975629469513002 = (15763.93579600005 - 6343.9918661911715) / 15763.93579600005 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.ReadAllBytes(size: 1048576) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 153.88493045171342 < 310.2287352997891. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 153.61006085303396 (T) = (0 -145748.3710237297) / Math.Sqrt((32690484.4547167 / (299)) + (19495708.680815663 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.555765122067154 = (328088.53663615795 - 145748.3710237297) / 328088.53663615795 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_File.WriteAllText(size: 100000) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 77.50127652050918 < 508.72295116666675. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1624.5907825761258 (T) = (0 -77488.00924751033) / Math.Sqrt((19395804.893840123 / (299)) + (198344.47049903686 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8542029737949512 = (531478.6677372371 - 77488.00924751033) / 531478.6677372371 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in PerfLabTests.GetMember

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetMethod4 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod4.html>) 17.67 ms 362.63 μs 0.02 0.22 True
[GetMethod15 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod15.html>) 67.11 ms 1.37 ms 0.02 0.22 True
[GetMethod2 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod2.html>) 9.13 ms 181.17 μs 0.02 0.23 True
[GetMethod1 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod1.html>) 4.39 ms 89.64 μs 0.02 0.30 True
[GetMethod5 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod5.html>) 22.45 ms 456.67 μs 0.02 0.22 True
[GetField - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetField.html>) 3.77 ms 38.65 μs 0.01 0.25 True
[GetMethod10 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod10.html>) 43.89 ms 914.51 μs 0.02 0.20 True
[GetMethod20 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod20.html>) 85.70 ms 1.84 ms 0.02 0.24 True
[GetMethod3 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod3.html>) 13.84 ms 283.59 μs 0.02 0.26 True
[GetMethod12 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/PerfLabTests.GetMember.GetMethod12.html>) 50.32 ms 1.11 ms 0.02 0.22 True

graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'PerfLabTests.GetMember*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter PerfLabTests.GetMember* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'PerfLabTests.GetMember*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter PerfLabTests.GetMember* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### PerfLabTests.GetMember.GetMethod4 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 362.62605251937987 < 16.46918448916209. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 441.8522149831493 (T) = (0 -362820.22802938876) / Math.Sqrt((423904868862.3618 / (299)) + (29327727.825720955 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9786718259661445 = (17011312.241425958 - 362820.22802938876) / 17011312.241425958 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod15 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3668769798611111 < 63.6866433025641. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 434.23823134382457 (T) = (0 -1373811.6321866182) / Math.Sqrt((6224175244518.694 / (299)) + (372054850.63463587 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.978555269302719 = (64062899.72020041 - 1373811.6321866182) / 64062899.72020041 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod2 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 181.16979686118478 < 8.40969561780506. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 399.7644028283736 (T) = (0 -181115.752273691) / Math.Sqrt((129358149910.79115 / (299)) + (4280246.172510722 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9786895520737298 = (8498918.131627936 - 181115.752273691) / 8498918.131627936 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod1 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 89.64227601190476 < 4.112308952096354. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 422.63930089460484 (T) = (0 -90080.95856424057) / Math.Sqrt((28878870330.663074 / (299)) + (492132.55953925697 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9787764334511126 = (4244383.636310313 - 90080.95856424057) / 4244383.636310313 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod5 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 456.66545174632347 < 20.76893349785256. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 431.2337742194855 (T) = (0 -452594.0777883133) / Math.Sqrt((695173433034.0569 / (299)) + (5816707.757182634 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9786990936993104 = (21247644.179987766 - 452594.0777883133) / 21247644.179987766 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetField ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 38.650500903880065 < 3.475941874619047. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 526.7406133395888 (T) = (0 -39140.237815902845) / Math.Sqrt((13291417505.485199 / (299)) + (643226.9300459204 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9889831830294695 = (3552771.905043132 - 39140.237815902845) / 3552771.905043132 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod10 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 914.5115787037037 < 41.173651562980766. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 453.2282265937205 (T) = (0 -909132.0307067324) / Math.Sqrt((2550108497805.311 / (299)) + (36916713.86734579 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9787446361787605 = (42771887.52696288 - 909132.0307067324) / 42771887.52696288 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod20 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.8409971019965277 < 81.53618255721155. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 412.1844411359971 (T) = (0 -1826268.8605735102) / Math.Sqrt((12254287709793.875 / (299)) + (447226703.6337313 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9785904403787926 = (85301561.21308057 - 1826268.8605735102) / 85301561.21308057 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod3 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 283.58901725618136 < 12.495277783601189. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 386.4329992537409 (T) = (0 -274158.99181496515) / Math.Sqrt((313395730584.245 / (299)) + (24956280.17126038 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9785727685625186 = (12794886.386273675 - 274158.99181496515) / 12794886.386273675 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### PerfLabTests.GetMember.GetMethod12 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.113112240972222 < 49.42003411701922. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 414.95905452923154 (T) = (0 -1090333.256221332) / Math.Sqrt((4345001072587.8857 / (299)) + (81949278.39610331 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9786719965177969 = (51122143.57669014 - 1090333.256221332) / 51122143.57669014 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.Json.Tests.Perf_Get

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetDateTimeOffset - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetDateTimeOffset.html>) 15.19 μs 4.94 μs 0.33 0.02 True
[GetByte - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetByte.html>) 1.68 μs 496.04 ns 0.29 0.06 True
[GetInt16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetInt16.html>) 1.89 μs 508.47 ns 0.27 0.04 True
[GetGuid - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetGuid.html>) 15.56 μs 3.59 μs 0.23 0.01 True
[GetDouble - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetDouble.html>) 8.85 μs 3.93 μs 0.44 0.01 True
[GetDateTime - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetDateTime.html>) 10.17 μs 3.60 μs 0.35 0.01 True
[GetInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetInt32.html>) 1.73 μs 491.83 ns 0.28 0.08 True
[GetDecimal - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetDecimal.html>) 9.40 μs 3.89 μs 0.41 0.00 True
[GetUInt16 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetUInt16.html>) 1.72 μs 494.61 ns 0.29 0.06 True
[GetUInt64 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetUInt64.html>) 1.59 μs 484.40 ns 0.30 0.02 True
[GetInt64 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetInt64.html>) 1.90 μs 472.15 ns 0.25 0.07 True
[GetString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetString.html>) 26.65 μs 2.78 μs 0.10 0.05 True
[GetUInt32 - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetUInt32.html>) 1.72 μs 448.60 ns 0.26 0.06 True
[GetBoolean - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetBoolean.html>) 378.27 ns 98.94 ns 0.26 0.06 True
[GetSByte - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetSByte.html>) 1.83 μs 548.65 ns 0.30 0.04 True
[GetSingle - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.Json.Tests.Perf_Get.GetSingle.html>) 9.48 μs 3.83 μs 0.40 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Get*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Get* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.Json.Tests.Perf_Get*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.Json.Tests.Perf_Get* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.Json.Tests.Perf_Get.GetDateTimeOffset ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.942151604640751 < 14.428724321094508. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1417.0746596688925 (T) = (0 -4933.971968372887) / Math.Sqrt((9261.14035287612 / (299)) + (327.1962607462123 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6760287589127718 = (15229.660360638096 - 4933.971968372887) / 15229.660360638096 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetByte ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 496.04122523263527 < 1.598226226793889. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 765.5005722840599 (T) = (0 -495.44849034017824) / Math.Sqrt((701.0164588664475 / (299)) + (1.7164700940526791 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.707844334623181 = (1695.8373533546048 - 495.44849034017824) / 1695.8373533546048 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetInt16 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 508.46921691269137 < 1.7948069055570732. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.0902206189471 (T) = (0 -509.8266525578578) / Math.Sqrt((4696.383398187385 / (299)) + (39.19960341692934 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7131224377659741 = (1777.1576437963345 - 509.8266525578578) / 1777.1576437963345 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetGuid ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.5913510409451246 < 14.77309920421425. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3454.8579896596075 (T) = (0 -3598.181616521618) / Math.Sqrt((2022.6546684301145 / (299)) + (78.65720557905888 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7689091650657474 = (15570.421118368162 - 3598.181616521618) / 15570.421118368162 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetDouble ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.9301787568785076 < 8.405161752291887. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 503.7880679294551 (T) = (0 -3901.7232782869564) / Math.Sqrt((10493.171099653284 / (299)) + (988.6214503483578 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5647724218891844 = (8964.788709445056 - 3901.7232782869564) / 8964.788709445056 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetDateTime ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.5960775719217497 < 9.656173208770666. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1661.491014134512 (T) = (0 -3588.01731706161) / Math.Sqrt((2900.765754446399 / (299)) + (88.45866600096234 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6465052514883918 = (10150.129053314027 - 3588.01731706161) / 10150.129053314027 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetInt32 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 491.8264873434374 < 1.643399286303159. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 210.57675674173402 (T) = (0 -509.8407973611682) / Math.Sqrt((528.7012671530155 / (299)) + (487.74468811422275 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7074640054137559 = (1742.8309910453058 - 509.8407973611682) / 1742.8309910453058 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetDecimal ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.8928184710469553 < 8.930080709423889. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 477.44682462877194 (T) = (0 -3911.1366891788525) / Math.Sqrt((8308.957507587105 / (299)) + (1627.2663644242937 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5876361100776477 = (9484.67308792561 - 3911.1366891788525) / 9484.67308792561 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetUInt16 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 494.6100704564277 < 1.6363048449478828. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 175.19048298414955 (T) = (0 -488.110982042038) / Math.Sqrt((13023.467264893707 / (299)) + (98.73915724893673 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7176296640061914 = (1728.6199002601343 - 488.110982042038) / 1728.6199002601343 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetUInt64 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 484.3974731902111 < 1.5109008279144565. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 458.5453957904833 (T) = (0 -484.5952260809493) / Math.Sqrt((1230.4556563393132 / (299)) + (28.90046908828727 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6993295843561544 = (1611.7156888989339 - 484.5952260809493) / 1611.7156888989339 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetInt64 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 472.145600048501 < 1.800974908154298. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 192.75264942916775 (T) = (0 -486.1198800893375) / Math.Sqrt((4525.352518876457 / (299)) + (430.4970033774725 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7241549382730851 = (1762.293212885549 - 486.1198800893375) / 1762.293212885549 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.779562832884216 < 25.322644036956987. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 939.522797956815 (T) = (0 -2776.993335703307) / Math.Sqrt((193672.88641486113 / (299)) + (445.2593113997476 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8980179516124105 = (27230.217274604656 - 2776.993335703307) / 27230.217274604656 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetUInt32 ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 448.60099861267116 < 1.629737461864457. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 163.76067893949974 (T) = (0 -448.62453143848205) / Math.Sqrt((17391.089082827562 / (299)) + (0.14570643705359718 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7357389849491219 = (1697.6568842441955 - 448.62453143848205) / 1697.6568842441955 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetBoolean ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 98.94096923633965 < 359.3139328697256. IsChangePoint: Marked as a change because one of 3/8/2023 10:34:21 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 145.1071704655029 (T) = (0 -96.85132311075381) / Math.Sqrt((309.1592735498116 / (299)) + (32.567745156823605 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7330793391385998 = (362.84685793223144 - 96.85132311075381) / 362.84685793223144 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetSByte ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 548.6546817228002 < 1.7362669073146282. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 545.7229330686266 (T) = (0 -546.1969467405304) / Math.Sqrt((256.22947885258566 / (299)) + (71.27682776179222 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7029311711715708 = (1838.620864042198 - 546.1969467405304) / 1838.620864042198 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.Json.Tests.Perf_Get.GetSingle ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.826638640775708 < 8.990313553819444. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 705.302527037586 (T) = (0 -3805.6236132477297) / Math.Sqrt((16744.22836101289 / (299)) + (82.95936750214426 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5924650983960036 = (9338.15385693192 - 3805.6236132477297) / 9338.15385693192 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Xml.Tests.Perf_XmlConvert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TimeSpan_ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Tests.Perf_XmlConvert.TimeSpan_ToString.html>) 253.35 ns 65.06 ns 0.26 0.01 True
[DateTime_ToString_RoundtripKind - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_RoundtripKind.html>) 179.93 ns 53.94 ns 0.30 0.02 True
[DateTime_ToString_Unspecified - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Unspecified.html>) 182.03 ns 55.16 ns 0.30 0.01 True
[DateTime_ToString_Local - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Local.html>) 771.43 ns 217.09 ns 0.28 0.26 True
[DateTime_ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Xml.Tests.Perf_XmlConvert.DateTime_ToString.html>) 189.32 ns 58.70 ns 0.31 0.03 True

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Xml.Tests.Perf_XmlConvert*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Xml.Tests.Perf_XmlConvert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Xml.Tests.Perf_XmlConvert*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Xml.Tests.Perf_XmlConvert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Xml.Tests.Perf_XmlConvert.TimeSpan_ToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 65.06355614697381 < 240.79229306751824. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 321.0651538412256 (T) = (0 -65.29904516811118) / Math.Sqrt((3.6784884806272 / (299)) + (5.074865303927777 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7443401930514956 = (255.4138092628063 - 65.29904516811118) / 255.4138092628063 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_RoundtripKind ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 53.93831761382519 < 170.97279235236056. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 743.2804272552727 (T) = (0 -54.12336248601305) / Math.Sqrt((7.328412539416392 / (299)) + (0.04283755418661917 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.694357915915087 = (177.08085798478123 - 54.12336248601305) / 177.08085798478123 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Unspecified ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 55.15995461426119 < 173.0866101894555. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 603.7533252866812 (T) = (0 -54.867547067824624) / Math.Sqrt((5.8738592287694535 / (299)) + (0.3487517954453391 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6950307679735892 = (179.911746189114 - 54.867547067824624) / 179.911746189114 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString_Local ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 217.08834349305357 < 730.5289802939492. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 67.91200213918835 (T) = (0 -203.96532840854337) / Math.Sqrt((6459.269055469165 / (299)) + (604.4811168918014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.723729282762983 = (738.2806634318694 - 203.96532840854337) / 738.2806634318694 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Xml.Tests.Perf_XmlConvert.DateTime_ToString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 58.69626655847587 < 180.1031345063793. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 633.5834384453666 (T) = (0 -58.55211039513231) / Math.Sqrt((11.120523687128408 / (299)) + (0.05773753992505058 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6867329526562039 = (186.9079780066177 - 58.55211039513231) / 186.9079780066177 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Reflection.Attributes

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IsDefinedClassHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedClassHitInherit.html>) 442.52 ns 368.05 ns 0.83 0.04 False
[IsDefinedMethodBaseMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodBaseMissInherit.html>) 999.47 ns 99.59 ns 0.10 0.10 True
[IsDefinedMethodOverrideHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodOverrideHit.html>) 602.68 ns 383.52 ns 0.64 0.07 True
[GetCustomAttributesMethodBaseHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodBaseHit.html>) 1.79 μs 923.41 ns 0.52 0.05 True
[GetCustomAttributesClassMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesClassMiss.html>) 1.22 μs 107.38 ns 0.09 0.10 True
[GetCustomAttributesMethodOverrideHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodOverrideHit.html>) 1.71 μs 912.69 ns 0.53 0.06 True
[GetCustomAttributesMethodOverrideHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodOverrideHitInherit.html>) 4.60 μs 1.60 μs 0.35 0.08 True
[GetCustomAttributesMethodBaseHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodBaseHitInherit.html>) 2.84 μs 963.91 ns 0.34 0.16 True
[IsDefinedMethodBaseHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodBaseHit.html>) 640.65 ns 384.16 ns 0.60 0.07 True
[GetCustomAttributesClassHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesClassHitInherit.html>) 5.10 μs 1.03 μs 0.20 0.07 True
[IsDefinedMethodBaseMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodBaseMiss.html>) 879.60 ns 76.92 ns 0.09 0.07 True
[IsDefinedMethodOverrideMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodOverrideMissInherit.html>) 607.65 ns 395.34 ns 0.65 0.08 True
[IsDefinedMethodOverrideMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodOverrideMiss.html>) 612.44 ns 384.99 ns 0.63 0.05 True
[GetCustomAttributesMethodBaseMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodBaseMiss.html>) 1.71 μs 101.67 ns 0.06 0.08 True
[GetCustomAttributesMethodOverrideMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodOverrideMiss.html>) 1.78 μs 948.09 ns 0.53 0.04 True
[GetCustomAttributesMethodOverrideMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodOverrideMissInherit.html>) 5.09 μs 966.42 ns 0.19 0.07 True
[IsDefinedMethodOverrideHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodOverrideHitInherit.html>) 596.59 ns 382.46 ns 0.64 0.09 True
[IsDefinedClassMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedClassMissInherit.html>) 1.85 μs 618.73 ns 0.33 0.03 True
[IsDefinedMethodBaseHitInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedMethodBaseHitInherit.html>) 605.04 ns 392.67 ns 0.65 0.07 True
[IsDefinedClassMiss - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedClassMiss.html>) 318.23 ns 79.01 ns 0.25 0.04 True
[GetCustomAttributesMethodBaseMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit.html>) 1.88 μs 127.27 ns 0.07 0.08 True
[GetCustomAttributesClassMissInherit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesClassMissInherit.html>) 3.49 μs 204.60 ns 0.06 0.04 True
[IsDefinedClassHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.IsDefinedClassHit.html>) 448.45 ns 371.69 ns 0.83 0.03 False
[GetCustomAttributesClassHit - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Reflection.Attributes.GetCustomAttributesClassHit.html>) 1.94 μs 944.61 ns 0.49 0.07 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Reflection.Attributes*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Reflection.Attributes* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Reflection.Attributes*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Reflection.Attributes* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Reflection.Attributes.IsDefinedClassHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 368.0480281343959 < 419.49637829098555. IsChangePoint: Marked as a change because one of 3/9/2023 8:37:21 PM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 65.1137199711543 (T) = (0 -367.10466892921534) / Math.Sqrt((560.7589547460773 / (299)) + (4.1571209196159415 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2064962548355562 = (462.63760085106776 - 367.10466892921534) / 462.63760085106776 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodBaseMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 99.59112265914011 < 917.30187420899. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 517.4666045155093 (T) = (0 -99.5787222434691) / Math.Sqrt((794.56472434485 / (299)) + (1.7814093386289527 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8964633924194367 = (961.7730826846488 - 99.5787222434691) / 961.7730826846488 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodOverrideHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 383.51815238727124 < 592.1330793258087. IsChangePoint: Marked as a change because one of 3/22/2023 6:15:16 AM, 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 66.45904245601814 (T) = (0 -389.0730132693461) / Math.Sqrt((581.0510648260047 / (299)) + (164.92340106779506 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.38057961877556185 = (628.1243321381301 - 389.0730132693461) / 628.1243321381301 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodBaseHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 923.4137734143128 < 1.7332321674708322. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 142.3564505161095 (T) = (0 -936.3269364235651) / Math.Sqrt((1216.2908823187242 / (299)) + (468.70487151362414 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47465206233120255 = (1782.2986810959312 - 936.3269364235651) / 1782.2986810959312 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesClassMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 107.38396516018211 < 1.156622217929027. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 556.0882707947834 (T) = (0 -108.09307889309042) / Math.Sqrt((1254.5674084589664 / (299)) + (0.4966903344824873 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9136403126780628 = (1251.6613045405568 - 108.09307889309042) / 1251.6613045405568 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodOverrideHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 912.6935753727927 < 1.5483310200578024. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 120.15402770553989 (T) = (0 -934.6968014724825) / Math.Sqrt((1623.3655258066683 / (299)) + (490.2339770812776 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4424589075973338 = (1676.4626216957436 - 934.6968014724825) / 1676.4626216957436 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodOverrideHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.6042731827474832 < 4.3721290050827095. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 229.79461022133094 (T) = (0 -1573.6009299808554) / Math.Sqrt((10470.340904164437 / (299)) + (2209.64189316514 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6635078412504732 = (4676.486179733509 - 1573.6009299808554) / 4676.486179733509 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodBaseHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 963.9085654125167 < 2.5450956828713847. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 133.9464532814694 (T) = (0 -1006.7139040276091) / Math.Sqrt((4813.048670815102 / (299)) + (2208.9229720791286 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6297087429512133 = (2718.708273187699 - 1006.7139040276091) / 2718.708273187699 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodBaseHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 384.15693364597473 < 597.7350267744953. IsChangePoint: Marked as a change because one of 4/17/2023 1:30:24 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 50.71872312981017 (T) = (0 -390.51894925305385) / Math.Sqrt((396.41546196878056 / (299)) + (329.35933977181804 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3852513255769359 = (635.2497622212073 - 390.51894925305385) / 635.2497622212073 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesClassHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.0255861211535924 < 4.7953415128931205. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 281.66720883436204 (T) = (0 -1034.7406416810772) / Math.Sqrt((11679.772007364125 / (299)) + (2544.426896628146 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7972586460207917 = (5103.747318305827 - 1034.7406416810772) / 5103.747318305827 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodBaseMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 76.9218359790758 < 758.9940265370411. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 548.5436902756976 (T) = (0 -76.94481918754346) / Math.Sqrt((457.7708480831354 / (299)) + (4.4094739004754375 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.905933206211715 = (817.9806719119423 - 76.94481918754346) / 817.9806719119423 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodOverrideMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 395.33639509923415 < 595.1902460214171. IsChangePoint: Marked as a change because one of 4/17/2023 7:48:00 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 61.19428751380044 (T) = (0 -391.6231914053172) / Math.Sqrt((468.50192898620594 / (299)) + (212.85173398011244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3828181688545215 = (634.534543375121 - 391.6231914053172) / 634.534543375121 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodOverrideMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 384.9911392730081 < 597.2405422512659. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 164.4204002330025 (T) = (0 -385.94720227863996) / Math.Sqrt((460.7433035298425 / (299)) + (11.08805126881697 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3914662197437361 = (634.2247789697246 - 385.94720227863996) / 634.2247789697246 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodBaseMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 101.66837234455035 < 1.6260439776345954. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 717.6076540954948 (T) = (0 -103.09934421214284) / Math.Sqrt((1549.0465083690108 / (299)) + (1.7807374696553997 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.941256416923839 = (1755.0741513072926 - 103.09934421214284) / 1755.0741513072926 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodOverrideMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 948.0948484815427 < 1.715822891487879. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 149.12796193467008 (T) = (0 -937.825061173707) / Math.Sqrt((1128.6823579538484 / (299)) + (426.139814463476 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47426745523746966 = (1783.8444100836784 - 937.825061173707) / 1783.8444100836784 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodOverrideMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 966.4238983286048 < 4.5509942415091045. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 306.04035916041977 (T) = (0 -977.0003090307799) / Math.Sqrt((9963.682811589399 / (299)) + (1872.3905946749856 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7975416826893901 = (4825.686205481368 - 977.0003090307799) / 4825.686205481368 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodOverrideHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 382.458694849649 < 581.1898391138285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 148.37049301952067 (T) = (0 -384.0922791566339) / Math.Sqrt((591.3289232046194 / (299)) + (11.318329045325637 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.38969160222573973 = (629.3412978706893 - 384.0922791566339) / 629.3412978706893 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedClassMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 618.7332897995511 < 1.7413544814965745. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 276.571400180498 (T) = (0 -624.7154746312273) / Math.Sqrt((3554.2944085416148 / (299)) + (126.8988625700681 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6663326047754684 = (1872.270061660785 - 624.7154746312273) / 1872.270061660785 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedMethodBaseHitInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 392.6651252609164 < 599.4215776443816. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 159.33352869138488 (T) = (0 -386.0122351539938) / Math.Sqrt((472.03728469550975 / (299)) + (11.945940813154241 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.39161895155312215 = (634.4908937243125 - 386.0122351539938) / 634.4908937243125 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedClassMiss ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.0115368396912 < 302.7623126718215. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 195.96615622900242 (T) = (0 -79.14592926561362) / Math.Sqrt((528.7208136335315 / (299)) + (2.900714947430633 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7761811198047588 = (353.61596482197217 - 79.14592926561362) / 353.61596482197217 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesMethodBaseMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 127.27290347781485 < 1.7414647081966086. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 684.666499518382 (T) = (0 -128.07316391907443) / Math.Sqrt((1926.8024181364824 / (299)) + (0.8695345830041317 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9316550292977676 = (1873.9222886943326 - 128.07316391907443) / 1873.9222886943326 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesClassMissInherit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 204.59953819481396 < 3.2369568332282177. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 738.8754838799733 (T) = (0 -204.95614178199105) / Math.Sqrt((5716.167235807053 / (299)) + (0.7043686139318142 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9404120712853723 = (3439.558081697145 - 204.95614178199105) / 3439.558081697145 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.IsDefinedClassHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 371.68635079944386 < 419.0166181692065. IsChangePoint: Marked as a change because one of 3/9/2023 8:37:21 PM, 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 62.204961573209346 (T) = (0 -367.73955251718587) / Math.Sqrt((567.6248531142251 / (299)) + (5.650179322894738 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20327813293567992 = (461.56578314110453 - 367.73955251718587) / 461.56578314110453 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Reflection.Attributes.GetCustomAttributesClassHit ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 944.6134032133531 < 1.859566761817161. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 153.27129397958748 (T) = (0 -916.3712332258609) / Math.Sqrt((1995.5904885056286 / (299)) + (628.5730290147825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.53827111938836 = (1984.6521881238368 - 916.3712332258609) / 1984.6521881238368 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.ContainsTrueComparer<String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ImmutableSortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsTrueComparer(String).ImmutableSortedSet(Size%3a%20512).html>) 552.63 μs 241.38 μs 0.44 0.11 True
[SortedSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsTrueComparer(String).SortedSet(Size%3a%20512).html>) 531.78 μs 235.92 μs 0.44 0.15 True
[HashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsTrueComparer(String).HashSet(Size%3a%20512).html>) 54.69 μs 20.39 μs 0.37 0.03 True
[ImmutableHashSet - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsTrueComparer(String).ImmutableHashSet(Size%3a%20512).html>) 78.80 μs 41.52 μs 0.53 0.01 True

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsTrueComparer<String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsTrueComparer<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsTrueComparer<String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsTrueComparer<String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsTrueComparer<String>.ImmutableSortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 241.37586764520202 < 531.3083465788119. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 22.086241773387734 (T) = (0 -256287.5974214749) / Math.Sqrt((262226820.2030761 / (299)) + (2812398849.883181 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5503786272361747 = (570007.5951596195 - 256287.5974214749) / 570007.5951596195 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<String>.SortedSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 235.9225928724054 < 514.9266241180468. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 140.25539368324445 (T) = (0 -241789.82015330408) / Math.Sqrt((314926605.83244383 / (299)) + (55366503.22651196 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.55820372053314 = (547288.0406441749 - 241789.82015330408) / 547288.0406441749 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<String>.HashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.39491294157609 < 52.45645116094562. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 135.700094290119 (T) = (0 -21599.623185285018) / Math.Sqrt((411783.8580043256 / (299)) + (902126.4411505365 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6091085306994022 = (55257.34092875479 - 21599.623185285018) / 55257.34092875479 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsTrueComparer<String>.ImmutableHashSet(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 41.51581977521929 < 75.55901967168292. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 198.38367794695282 (T) = (0 -41544.54993236956) / Math.Sqrt((551981.2731904348 / (299)) + (528606.6319626755 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4790587326687135 = (79749.0092217052 - 41544.54993236956) / 79749.0092217052 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Text.RegularExpressions.Tests.Perf_Regex_Common

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Date_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options%3a%20None).html>) 723.88 ns 295.55 ns 0.41 0.01 True
[OneNodeBacktracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options%3a%20Compiled).html>) 254.82 ns 69.50 ns 0.27 0.02 True
[OneNodeBacktracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options%3a%20None).html>) 1.75 μs 830.03 ns 0.47 0.02 True
[CtorInvoke - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.CtorInvoke(Options%3a%20None).html>) 12.84 μs 4.95 μs 0.39 0.02 True
[Email_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options%3a%20None).html>) 1.13 μs 480.06 ns 0.42 0.02 True
[SplitWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20None).html>) 117.54 μs 43.50 μs 0.37 0.07 True
[MatchesSet - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options%3a%20IgnoreCase%2c%20Compiled).html>) 224.73 μs 45.71 μs 0.20 0.03 True
[IP_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 350.13 ns 127.95 ns 0.37 0.01 True
[MatchesWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options%3a%20IgnoreCase%2c%20Compiled).html>) 10.97 μs 917.85 ns 0.08 0.01 False
[Email_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options%3a%20None).html>) 833.87 ns 274.74 ns 0.33 0.02 True
[Uri_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options%3a%20None).html>) 525.16 ns 235.43 ns 0.45 0.02 True
[IP_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options%3a%20Compiled).html>) 349.36 ns 128.27 ns 0.37 0.01 True
[IP_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 348.32 ns 128.01 ns 0.37 0.00 True
[Ctor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20IgnoreCase%2c%20Compiled).html>) 94.72 μs 29.01 μs 0.31 0.02 True
[Date_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options%3a%20Compiled).html>) 266.78 ns 51.50 ns 0.19 0.01 False
[Backtracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20None).html>) 2.45 μs 1.30 μs 0.53 0.01 True
[IP_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options%3a%20None).html>) 1.21 μs 474.73 ns 0.39 0.02 True
[MatchesWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options%3a%20IgnoreCase%2c%20Compiled).html>) 15.53 μs 2.72 μs 0.18 0.16 True
[MatchWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options%3a%20None).html>) 3.21 μs 1.21 μs 0.38 0.02 True
[MatchesBoundary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options%3a%20Compiled).html>) 191.69 μs 48.01 μs 0.25 0.01 True
[Uri_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options%3a%20None).html>) 534.99 ns 238.78 ns 0.45 0.01 True
[MatchWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options%3a%20Compiled).html>) 393.27 ns 120.11 ns 0.31 0.02 True
[Backtracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20Compiled).html>) 383.34 ns 91.56 ns 0.24 0.01 True
[MatchesSet - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options%3a%20Compiled).html>) 224.78 μs 41.58 μs 0.18 0.01 True
[MatchesBoundary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options%3a%20None).html>) 240.94 μs 103.54 μs 0.43 0.01 True
[Date_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options%3a%20Compiled).html>) 489.98 ns 99.08 ns 0.20 0.01 True
[Backtracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options%3a%20IgnoreCase%2c%20Compiled).html>) 370.68 ns 109.10 ns 0.29 0.04 True
[MatchWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options%3a%20IgnoreCase%2c%20Compiled).html>) 522.96 ns 123.16 ns 0.24 0.01 True
[Ctor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20None).html>) 12.07 μs 4.74 μs 0.39 0.03 True
[IP_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options%3a%20Compiled).html>) 348.19 ns 128.73 ns 0.37 0.00 True
[Uri_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options%3a%20Compiled).html>) 393.24 ns 69.12 ns 0.18 0.02 True
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20Compiled).html>) 12.01 μs 2.23 μs 0.19 0.00 True
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20None).html>) 117.59 μs 43.62 μs 0.37 0.02 True
[MatchesWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options%3a%20None).html>) 116.43 μs 42.73 μs 0.37 0.06 True
[Date_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 486.56 ns 98.56 ns 0.20 0.02 True
[Date_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 271.00 ns 51.97 ns 0.19 0.02 False
[IP_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options%3a%20None).html>) 1.23 μs 468.58 ns 0.38 0.02 True
[MatchesWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options%3a%20Compiled).html>) 7.03 μs 959.37 ns 0.14 0.01 True
[Email_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 248.38 ns 113.51 ns 0.46 0.04 True
[OneNodeBacktracking - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options%3a%20IgnoreCase%2c%20Compiled).html>) 301.05 ns 70.33 ns 0.23 0.04 True
[Date_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options%3a%20None).html>) 319.31 ns 129.21 ns 0.40 0.02 True
[Email_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 284.06 ns 124.12 ns 0.44 0.03 True
[ReplaceWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options%3a%20IgnoreCase%2c%20Compiled).html>) 16.26 μs 2.31 μs 0.14 0.13 True
[SplitWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20Compiled).html>) 12.08 μs 2.34 μs 0.19 0.00 True
[MatchesWord - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options%3a%20None).html>) 7.42 μs 3.38 μs 0.46 0.01 True
[Uri_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 258.43 ns 65.60 ns 0.25 0.03 True
[Email_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options%3a%20Compiled).html>) 320.75 ns 95.60 ns 0.30 0.02 True
[SplitWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options%3a%20IgnoreCase%2c%20Compiled).html>) 16.32 μs 2.57 μs 0.16 0.09 True
[MatchesWords - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options%3a%20Compiled).html>) 10.27 μs 2.55 μs 0.25 0.00 True
[Email_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options%3a%20Compiled).html>) 284.25 ns 88.07 ns 0.31 0.04 True
[Uri_IsMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options%3a%20Compiled).html>) 258.64 ns 69.33 ns 0.27 0.04 True
[Uri_IsNotMatch - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options%3a%20IgnoreCase%2c%20Compiled).html>) 365.78 ns 69.57 ns 0.19 0.02 True
[MatchesSet - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options%3a%20None).html>) 255.19 μs 104.82 μs 0.41 0.01 True
[Ctor - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options%3a%20Compiled).html>) 74.15 μs 20.77 μs 0.28 0.01 True
[MatchesBoundary - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options%3a%20IgnoreCase%2c%20Compiled).html>) 191.71 μs 47.85 μs 0.25 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.RegularExpressions.Tests.Perf_Regex_Common* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Text.RegularExpressions.Tests.Perf_Regex_Common*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Text.RegularExpressions.Tests.Perf_Regex_Common* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 295.54608235525217 < 687.7046832171465. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 410.9923211418547 (T) = (0 -297.88506612503016) / Math.Sqrt((181.8449030641019 / (299)) + (7.187661739306742 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5899456228729423 = (726.4525944390267 - 297.88506612503016) / 726.4525944390267 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.49511932161774 < 241.31757580891872. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.3772720504481 (T) = (0 -70.06386832176503) / Math.Sqrt((4.690299634644749 / (299)) + (5.690254970128665 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7266790168238955 = (256.34280803322696 - 70.06386832176503) / 256.34280803322696 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 830.0321829613888 < 1.6579457328523264. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 299.72147155339303 (T) = (0 -834.9699004084108) / Math.Sqrt((2094.6213531098692 / (299)) + (22.21083623616317 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5111669815606045 = (1708.088179219278 - 834.9699004084108) / 1708.088179219278 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.CtorInvoke(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.9540814018850785 < 12.214946050912621. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 451.9442131854995 (T) = (0 -4966.050477434913) / Math.Sqrt((43745.24429544268 / (299)) + (2458.300836655705 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6158035921298662 = (12925.811839223492 - 4966.050477434913) / 12925.811839223492 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 480.0577180582783 < 1.0842037507130706. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 224.43169275712924 (T) = (0 -461.72306260703385) / Math.Sqrt((300.09161626932735 / (299)) + (121.63998692317998 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5947064219160638 = (1139.2311341074621 - 461.72306260703385) / 1139.2311341074621 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.504700157122905 < 111.68741724808672. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 508.33523837529486 (T) = (0 -43638.24785581684) / Math.Sqrt((3242266.9074649783 / (299)) + (158376.42322990266 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.63019995772295 = (118004.98341512779 - 43638.24785581684) / 118004.98341512779 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 45.71042758241758 < 213.44178819903277. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 346.08876358368013 (T) = (0 -43257.66453907064) / Math.Sqrt((24305241.070194304 / (299)) + (2729041.508309093 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.80410434745956 = (220819.93131593723 - 43257.66453907064) / 220819.93131593723 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 127.95445475491199 < 331.77772220618925. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1249.7446191079805 (T) = (0 -127.98767614761017) / Math.Sqrt((9.00744057508968 / (299)) + (0.012863935968659746 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6321843620107362 = (347.9669239929 - 127.98767614761017) / 347.9669239929 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 917.8491358719277 < 10.402082496264775. IsChangePoint: Marked as a change because one of 5/1/2023 3:42:23 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 113.5500181928176 (T) = (0 -914.1880804929573) / Math.Sqrt((1190343.045336849 / (299)) + (36.89625057168782 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8868709418383957 = (8080.9307117809085 - 914.1880804929573) / 8080.9307117809085 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 274.74014720072955 < 789.433692906448. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 513.956346536809 (T) = (0 -275.07956423527503) / Math.Sqrt((340.76118158001253 / (299)) + (0.4371058086861946 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6688682947302326 = (830.7255386830818 - 275.07956423527503) / 830.7255386830818 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 235.42968985190296 < 501.5636687858013. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 487.96267655235636 (T) = (0 -236.3778411126277) / Math.Sqrt((53.35578162885215 / (299)) + (2.701507551888214 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5527927226948586 = (528.5643886142327 - 236.3778411126277) / 528.5643886142327 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.27381942940215 < 329.723013154101. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 438.7156967162256 (T) = (0 -128.8551244776176) / Math.Sqrt((3.584365728454641 / (299)) + (3.538972753902001 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.628978488060979 = (347.29825719322577 - 128.8551244776176) / 347.29825719322577 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.00635314343015 < 331.49904387407406. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 875.6841402956188 (T) = (0 -128.41880654524795) / Math.Sqrt((6.505797469339931 / (299)) + (0.572916530353477 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.630616190509802 = (347.65683618479136 - 128.41880654524795) / 347.65683618479136 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 29.005082245245532 < 89.78839921723636. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 540.90512170227 (T) = (0 -28498.61897521307) / Math.Sqrt((1185889.9241842362 / (299)) + (159107.10586478058 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.7014994705390418 = (95472.59104255792 - 28498.61897521307) / 95472.59104255792 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.50315544167183 < 254.09024953957126. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.9572380259865 (T) = (0 -52.69503521811483) / Math.Sqrt((1277.8454328221123 / (299)) + (0.6329061636150878 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8217783763343245 = (295.6713901168638 - 52.69503521811483) / 295.6713901168638 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2999626531668365 < 2.339584629530087. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 159.28986502199157 (T) = (0 -1306.712619661687) / Math.Sqrt((3184.440079334782 / (299)) + (527.9661964811922 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4521771575778174 = (2385.283194625649 - 1306.712619661687) / 2385.283194625649 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 474.72644461544496 < 1.1596377256085006. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 384.922096066832 (T) = (0 -470.1375498090547) / Math.Sqrt((272.3878223918883 / (299)) + (42.84054710875396 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6137634144330083 = (1217.2268691711251 - 470.1375498090547) / 1217.2268691711251 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.723539443268234 < 14.71234529282643. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 507.2134638359934 (T) = (0 -2701.3647854653655) / Math.Sqrt((173245.11145900303 / (299)) + (234.14885057609163 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8207918062986411 = (15073.891040758155 - 2701.3647854653655) / 15073.891040758155 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2090141185180825 < 3.046162614598794. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 291.6186719956905 (T) = (0 -1245.7628676748068) / Math.Sqrt((1425.615625132366 / (299)) + (602.6748815897841 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6108003179026602 = (3200.832181983228 - 1245.7628676748068) / 3200.832181983228 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 48.01322974006116 < 182.1183829195884. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 436.0245870028921 (T) = (0 -47777.19462110752) / Math.Sqrt((28844911.60142044 / (299)) + (91034.88568065157 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.745053130215109 = (187400.59315660188 - 47777.19462110752) / 187400.59315660188 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 238.77691389158815 < 508.1050635360285. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 342.15216822203394 (T) = (0 -240.1955971662684) / Math.Sqrt((94.85689514313279 / (299)) + (6.228867375715327 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5493783804874236 = (533.0316761678693 - 240.1955971662684) / 533.0316761678693 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 120.10518035468804 < 372.1154659463477. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 587.1232043516111 (T) = (0 -120.9826665472264) / Math.Sqrt((31.89133838546289 / (299)) + (1.6414779038456726 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6928679289650962 = (393.91088706420834 - 120.9826665472264) / 393.91088706420834 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 91.56005124048622 < 363.84878596339973. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 784.8004922019106 (T) = (0 -90.76360339152875) / Math.Sqrt((8.553142919641171 / (299)) + (1.6551655769310574 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7632085154186955 = (383.3060278836347 - 90.76360339152875) / 383.3060278836347 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 41.583439750795854 < 213.4117826752232. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 430.8872148450137 (T) = (0 -41765.72819761331) / Math.Sqrt((25765543.91212296 / (299)) + (1297935.518421451 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8108702460460077 = (220831.08196594618 - 41765.72819761331) / 220831.08196594618 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 103.54236089758751 < 229.82330151397068. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 319.70341986792215 (T) = (0 -102735.07843806165) / Math.Sqrt((25007238.88269893 / (299)) + (1443397.392950923 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5689232778268656 = (238322.02750395762 - 102735.07843806165) / 238322.02750395762 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 99.07571484045388 < 465.4227308525473. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 176.74354124353664 (T) = (0 -99.79401241351306) / Math.Sqrt((1575.1841307090644 / (299)) + (5.45367873699358 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8078037176212668 = (519.2296707220569 - 99.79401241351306) / 519.2296707220569 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Backtracking(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 109.09667231037284 < 349.7896186876457. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 400.39850441930935 (T) = (0 -110.13080445224699) / Math.Sqrt((46.57981573089782 / (299)) + (3.951239528418225 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7018429930325802 = (369.3718473109076 - 110.13080445224699) / 369.3718473109076 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchWord(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 123.16303350240396 < 492.98327941834776. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 557.1227906347597 (T) = (0 -123.53544054865468) / Math.Sqrt((63.64105102160326 / (299)) + (4.588020976201764 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7645982051767154 = (524.785465809181 - 123.53544054865468) / 524.785465809181 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.744296092634266 < 11.692307278428963. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 439.5722513759582 (T) = (0 -4768.842395998985) / Math.Sqrt((36916.43666029218 / (299)) + (2670.740410594522 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6154676059452665 = (12401.666204798856 - 4768.842395998985) / 12401.666204798856 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 128.72523036089873 < 330.9804504727328. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 696.3543652237656 (T) = (0 -128.86699864084133) / Math.Sqrt((5.64016451032561 / (299)) + (1.199585171116459 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6294667808684371 = (347.78797685906085 - 128.86699864084133) / 347.78797685906085 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.1195373824276 < 348.31029994466076. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 980.1795006758288 (T) = (0 -70.19386846537893) / Math.Sqrt((15.69939178325107 / (299)) + (0.6072615105674231 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8098206757182012 = (369.09305851444134 - 70.19386846537893) / 369.09305851444134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2278724087952493 < 11.42011516486042. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 593.4155313848795 (T) = (0 -2232.294047245639) / Math.Sqrt((80310.07590348402 / (299)) + (497.0087889243609 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8219880639626485 = (12540.136897209215 - 2232.294047245639) / 12540.136897209215 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 43.62204362995199 < 111.69779973631277. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 409.30668110544434 (T) = (0 -43894.43839148762) / Math.Sqrt((2022215.0752742286 / (299)) + (389592.9997472711 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6278581320656348 = (117950.81976433059 - 43894.43839148762) / 117950.81976433059 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.72912051013099 < 110.60780246848738. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 257.7271207394075 (T) = (0 -43796.101836974456) / Math.Sqrt((2989785.8900311287 / (299)) + (1030277.7805320628 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6227417164769694 = (116090.49754450475 - 43796.101836974456) / 116090.49754450475 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsNotMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 98.55654388396063 < 463.1301194805772. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 184.71668873542092 (T) = (0 -99.26386306615547) / Math.Sqrt((1551.1848127677047 / (299)) + (0.19941767621404335 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8093028575852886 = (520.5314658060536 - 99.26386306615547) / 520.5314658060536 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 51.973939063933926 < 253.55571382860157. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.68720800776279 (T) = (0 -52.794350516984224) / Math.Sqrt((1297.250013171808 / (299)) + (0.46548430651495426 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8220700180314575 = (296.7141902274688 - 52.794350516984224) / 296.7141902274688 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.IP_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 468.5750977216283 < 1.1617394765865683. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 536.5019885558406 (T) = (0 -469.7350334495107) / Math.Sqrt((273.5722527166646 / (299)) + (15.318049427348402 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6137860626513456 = (1216.2560384905469 - 469.7350334495107) / 1216.2560384905469 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 959.3718858696612 < 6.672876078999441. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1027.6199473388933 (T) = (0 -951.3211739174153) / Math.Sqrt((4974.888908518684 / (299)) + (285.5885365752121 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8658102944375758 = (7089.375223905438 - 951.3211739174153) / 7089.375223905438 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 113.5097012584419 < 235.01167223944833. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 268.2710416530936 (T) = (0 -114.82891143776615) / Math.Sqrt((63.12304592534223 / (299)) + (0.562764517305463 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5380917550442827 = (248.5967996712739 - 114.82891143776615) / 248.5967996712739 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.OneNodeBacktracking(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 70.33045789211782 < 286.8729957887626. IsChangePoint: Marked as a change because one of 3/28/2023 8:13:28 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 252.1672047234178 (T) = (0 -70.35300090323896) / Math.Sqrt((236.6680946270545 / (299)) + (0.045243136604012565 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7616189982125613 = (295.1283884861423 - 70.35300090323896) / 295.1283884861423 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Date_IsMatch(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 129.20776292633872 < 303.62170058805816. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 296.3954521271595 (T) = (0 -128.89573252905953) / Math.Sqrt((85.36907681273068 / (299)) + (1.933810912747671 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5968296204532086 = (319.70536296330295 - 128.89573252905953) / 319.70536296330295 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 124.12475242793349 < 269.5855258048519. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 486.86276319709754 (T) = (0 -124.72360693367752) / Math.Sqrt((26.13847977999803 / (299)) + (0.3113281011991438 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5621467303211185 = (284.8525192586752 - 124.72360693367752) / 284.8525192586752 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.ReplaceWords(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.314783366733199 < 15.833193687027315. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 554.3744775197437 (T) = (0 -2327.8354027667306) / Math.Sqrt((210151.80294984652 / (299)) + (406.6814415316433 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8654882004718237 = (17305.808196247617 - 2327.8354027667306) / 17305.808196247617 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.342272823243647 < 11.536195303020298. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 827.301737414833 (T) = (0 -2348.0070249671558) / Math.Sqrt((38620.22114971389 / (299)) + (219.2411565283997 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8086082076599073 = (12268.065397469478 - 2348.0070249671558) / 12268.065397469478 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWord(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.377461834000106 < 7.055838099563542. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 41.39208425379521 (T) = (0 -1283.1929085273898) / Math.Sqrt((3039.4151864562073 / (299)) + (336018.81644301384 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8284449109532168 = (7479.771749455141 - 1283.1929085273898) / 7479.771749455141 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 65.59623891994798 < 246.65240909778868. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 811.8629504547246 (T) = (0 -66.59253015601864) / Math.Sqrt((7.240345516810659 / (299)) + (0.47958861018089166 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7429219220716411 = (259.0362067923049 - 66.59253015601864) / 259.0362067923049 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsNotMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 95.5982468232678 < 302.56429482104164. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 745.6286084049411 (T) = (0 -95.86534228743375) / Math.Sqrt((19.2151932686172 / (299)) + (0.42991070929214814 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7033506838798891 = (323.16050325434975 - 95.86534228743375) / 323.16050325434975 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.SplitWords(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5678651548367535 < 15.756209854438914. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 521.3696324494232 (T) = (0 -2538.37644553354) / Math.Sqrt((158056.74650277928 / (299)) + (3520.6154416890554 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8501810319627964 = (16942.957749536767 - 2538.37644553354) / 16942.957749536767 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesWords(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.5476946268743466 < 9.772865948591043. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 641.2018427979225 (T) = (0 -2549.2865636092097) / Math.Sqrt((40059.891162737265 / (299)) + (240.42811997988156 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7549372172135884 = (10402.585552254508 - 2549.2865636092097) / 10402.585552254508 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Email_IsMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 88.06987448821039 < 260.7683946634494. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 352.85381892898243 (T) = (0 -87.8472332845857) / Math.Sqrt((65.69228716200625 / (299)) + (1.2523522919836367 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6886398090128903 = (282.1402216066297 - 87.8472332845857) / 282.1402216066297 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsMatch(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.33450999062788 < 245.7737290917451. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 650.7265774689256 (T) = (0 -66.9890030378664) / Math.Sqrt((10.793130893706754 / (299)) + (0.7670283536984763 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7415370538136113 = (259.182231055889 - 66.9890030378664) / 259.182231055889 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Uri_IsNotMatch(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 69.57076017762425 < 348.25015638773357. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 545.839025982657 (T) = (0 -69.97852070711886) / Math.Sqrt((9.982542953036942 / (299)) + (3.7352581996297727 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.810377802666196 = (369.0418194233412 - 69.97852070711886) / 369.0418194233412 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesSet(Options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 104.81618462368168 < 242.55815254888464. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 279.2896893709223 (T) = (0 -104287.5648058905) / Math.Sqrt((39443065.194925934 / (299)) + (2294711.658119762 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5883828848088669 = (253360.6134367491 - 104287.5648058905) / 253360.6134367491 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.Ctor(Options: Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.774520313881524 < 68.94145268623942. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 677.3232622422322 (T) = (0 -20919.0976353879) / Math.Sqrt((637633.0751967335 / (299)) + (57353.54876616372 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7141892913475687 = (73192.14081942325 - 20919.0976353879) / 73192.14081942325 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Text.RegularExpressions.Tests.Perf_Regex_Common.MatchesBoundary(Options: IgnoreCase, Compiled) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.850454001019365 < 182.2660914547923. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 324.28996128751976 (T) = (0 -48383.06605036665) / Math.Sqrt((28177522.208685476 / (299)) + (1342207.5467709007 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7417944433559172 = (187381.9707027417 - 48383.06605036665) / 187381.9707027417 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in SciMark2.kernel

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[benchSOR - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/SciMark2.kernel.benchSOR.html>) 869.72 ms 800.08 ms 0.92 0.00 True
[benchSparseMult - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/SciMark2.kernel.benchSparseMult.html>) 1.47 secs 652.60 ms 0.44 0.03 True
[benchMonteCarlo - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/SciMark2.kernel.benchMonteCarlo.html>) 767.62 ms 674.71 ms 0.88 0.07 False
[benchFFT - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/SciMark2.kernel.benchFFT.html>) 1.59 secs 611.72 ms 0.39 0.01 True
[benchmarkLU - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/SciMark2.kernel.benchmarkLU.html>) 1.40 secs 393.40 ms 0.28 0.02 True

graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'SciMark2.kernel*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter SciMark2.kernel* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'SciMark2.kernel*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter SciMark2.kernel* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### SciMark2.kernel.benchSOR ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 800.0838254285715 < 825.7856796133929. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 635.3165840519924 (T) = (0 -799856384.5095237) / Math.Sqrt((2477315559210.604 / (299)) + (51060434164.20539 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07908484388086545 = (868545141.4223983 - 799856384.5095237) / 868545141.4223983 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SciMark2.kernel.benchSparseMult ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 652.6040154166666 < 1.3888692074907967. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 849.1785783749676 (T) = (0 -653053998.7392062) / Math.Sqrt((263394882857160.84 / (299)) + (515408598190.7703 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5543709116604183 = (1465465374.292535 - 653053998.7392062) / 1465465374.292535 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SciMark2.kernel.benchMonteCarlo ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 674.7143165333333 < 729.8478916089284. IsChangePoint: Marked as a change because one of 3/13/2023 12:04:12 PM, 4/11/2023 10:53:42 PM, 4/20/2023 12:14:19 AM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 46.646226249862906 (T) = (0 -673598338.2055312) / Math.Sqrt((577564903060435.8 / (299)) + (35218820817337.805 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.12530604777352997 = (770096027.8631577 - 673598338.2055312) / 770096027.8631577 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### SciMark2.kernel.benchFFT ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 611.7242043333333 < 1.5057019008508332. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 663.989731974489 (T) = (0 -613895854.1664224) / Math.Sqrt((355191308814768.1 / (299)) + (12627588490428.37 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6064472507670945 = (1559882011.6566312 - 613895854.1664224) / 1559882011.6566312 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### SciMark2.kernel.benchmarkLU ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 393.396648 < 1.3260521235334615. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 746.1279017478464 (T) = (0 -394597989.6134921) / Math.Sqrt((525174571381229.9 / (299)) + (998810913761.6041 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7185494763265923 = (1402015474.9165769 - 394597989.6134921) / 1402015474.9165769 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Perf_Convert

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetTypeCode - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.GetTypeCode.html>) 5.36 ns 2.78 ns 0.52 0.17 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToDateTime_String(value%3a%20%22Thursday%2c%20February%2026%2c%202009%22).html>) 912.88 ns 281.41 ns 0.31 0.05 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToDateTime_String(value%3a%20%22Fri%2c%2027%20Feb%202009%2003%3a11%3a21%20GMT%22).html>) 2.47 μs 698.95 ns 0.28 0.04 True
[FromBase64String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.FromBase64String.html>) 155.43 ns 72.41 ns 0.47 0.06 True
[ToBase64CharArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToBase64CharArray(binaryDataSize%3a%201024%2c%20formattingOptions%3a%20None).html>) 1.83 μs 94.31 ns 0.05 0.01 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%22).html>) 349.24 ns 154.09 ns 0.44 0.04 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToDateTime_String(value%3a%20%22February%2026%2c%202009%22).html>) 559.83 ns 178.37 ns 0.32 0.09 True
[ToBase64String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToBase64String(formattingOptions%3a%20InsertLineBreaks).html>) 2.19 μs 1.17 μs 0.54 0.00 True
[ToBase64String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToBase64String(formattingOptions%3a%20None).html>) 2.15 μs 197.77 ns 0.09 0.00 True
[ToDateTime_String - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToDateTime_String(value%3a%20%2212%2f12%2f1999%2011%3a59%3a59%20PM%22).html>) 807.00 ns 269.47 ns 0.33 0.10 True
[ToBase64CharArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToBase64CharArray(binaryDataSize%3a%201024%2c%20formattingOptions%3a%20InsertLineBreaks).html>) 1.87 μs 1.06 μs 0.57 0.00 True
[ChangeType - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ChangeType.html>) 58.46 ns 26.14 ns 0.45 0.09 True
[FromBase64Chars - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.FromBase64Chars.html>) 162.75 ns 72.70 ns 0.45 0.06 True
[ToHexString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Perf_Convert.ToHexString.html>) 267.71 ns 33.87 ns 0.13 0.10 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Perf_Convert*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Perf_Convert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Perf_Convert*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Perf_Convert* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Perf_Convert.GetTypeCode ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.7847638756696997 < 5.076845837470689. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 146.45610002362918 (T) = (0 -2.7975044309463337) / Math.Sqrt((0.07403759395747024 / (299)) + (0.0008899318900285835 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4784081582129127 = (5.363397597173825 - 2.7975044309463337) / 5.363397597173825 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "Thursday, February 26, 2009") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 281.41248166218736 < 890.5847207935051. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 421.5739406420946 (T) = (0 -285.0084899177952) / Math.Sqrt((312.44571437896695 / (299)) + (18.506179704773785 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6906760725960217 = (921.3916695994 - 285.0084899177952) / 921.3916695994 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "Fri, 27 Feb 2009 03:11:21 GMT") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 698.9540811141736 < 2.326457652177567. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 512.802669818992 (T) = (0 -706.4525350160677) / Math.Sqrt((1868.1655245578906 / (299)) + (71.97672113687312 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7069655192424811 = (2410.8170928889604 - 706.4525350160677) / 2410.8170928889604 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.FromBase64String ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.40849224207253 < 148.05157408548504. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 165.67380944701515 (T) = (0 -71.25884265092785) / Math.Sqrt((36.565439873990904 / (299)) + (1.6984989435932767 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.530146968540783 = (151.66198338578366 - 71.25884265092785) / 151.66198338578366 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToBase64CharArray(binaryDataSize: 1024, formattingOptions: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 94.30742609897412 < 1.7403065118764347. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2138.0279585147205 (T) = (0 -100.40349744450349) / Math.Sqrt((13.196013075206833 / (299)) + (8.57977075891639 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9452352530953866 = (1833.3600193456818 - 100.40349744450349) / 1833.3600193456818 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "12/12/1999") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 154.08577994628186 < 331.66752889686416. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 132.14594683147493 (T) = (0 -141.63860156045718) / Math.Sqrt((29.689652674306526 / (299)) + (34.444654383489095 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5908418174131175 = (346.1707661935393 - 141.63860156045718) / 346.1707661935393 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "February 26, 2009") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 178.36726627874603 < 534.2713562895808. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 363.35753130553 (T) = (0 -174.40822561519843) / Math.Sqrt((151.80730299963543 / (299)) + (9.125604408608732 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6875960619864067 = (558.2779356885367 - 174.40822561519843) / 558.2779356885367 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToBase64String(formattingOptions: InsertLineBreaks) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.1745816065230517 < 2.082223537473303. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 465.8388203812042 (T) = (0 -1172.627857330258) / Math.Sqrt((493.2072185758424 / (299)) + (46.6936170561972 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4643645726891379 = (2189.227593136236 - 1172.627857330258) / 2189.227593136236 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToBase64String(formattingOptions: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 197.7652502533425 < 2.039131708400421. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2260.330613935676 (T) = (0 -195.08905034649388) / Math.Sqrt((108.25123263452832 / (299)) + (5.756261065287027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9091382445572882 = (2147.0975263018904 - 195.08905034649388) / 2147.0975263018904 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToDateTime_String(value: "12/12/1999 11:59:59 PM") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 269.4699445030663 < 765.7715294390192. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 471.63389905979255 (T) = (0 -264.6992564765826) / Math.Sqrt((288.6124769936578 / (299)) + (4.466873006947787 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6687914454910375 = (799.192088709834 - 264.6992564765826) / 799.192088709834 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToBase64CharArray(binaryDataSize: 1024, formattingOptions: InsertLineBreaks) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.060214060271647 < 1.775170803249613. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 217.56657012401132 (T) = (0 -1069.1037149128497) / Math.Sqrt((334.7333574317715 / (299)) + (185.8994605238734 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.42794214867269 = (1868.8734232600343 - 1069.1037149128497) / 1868.8734232600343 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ChangeType ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 26.13839801363586 < 57.158071202952286. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 135.75054381119446 (T) = (0 -25.53164826984723) / Math.Sqrt((10.384425269608437 / (299)) + (0.2429202439970363 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5454247793079884 = (56.16594813720762 - 25.53164826984723) / 56.16594813720762 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.FromBase64Chars ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 72.69751642206322 < 153.42998819381202. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 170.9849104007438 (T) = (0 -73.09576803880103) / Math.Sqrt((37.838793898750914 / (299)) + (1.8533899688355067 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5391394042452405 = (158.60711180805293 - 73.09576803880103) / 158.60711180805293 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Perf_Convert.ToHexString ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.87395320072424 < 253.81367419200106. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 196.0758585884506 (T) = (0 -33.96957181951447) / Math.Sqrt((488.5678164013796 / (299)) + (0.2111615343802906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8810952509581065 = (285.6872588625204 - 33.96957181951447) / 285.6872588625204 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_VectorOf<SByte>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).SubtractBenchmark.html>) 2.83 ns 0.03 ns 0.01 0.49 True
[LessThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanOrEqualAllBenchmark.html>) 26.61 ns 0.13 ns 0.01 0.43 True
[UnaryNegateOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).UnaryNegateOperatorBenchmark.html>) 2.90 ns 0.00 ns 0.00 0.29 True
[OnesComplementOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).OnesComplementOperatorBenchmark.html>) 9.08 ns 0.00 ns 0.00 0.02 True
[GreaterThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanOrEqualBenchmark.html>) 44.83 ns 0.24 ns 0.01 0.51 False
[BitwiseAndBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).BitwiseAndBenchmark.html>) 2.94 ns 0.03 ns 0.01 0.50 True
[XorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).XorBenchmark.html>) 3.07 ns 0.03 ns 0.01 0.55 True
[BitwiseOrBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).BitwiseOrBenchmark.html>) 2.89 ns 0.03 ns 0.01 0.50 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).AddOperatorBenchmark.html>) 3.09 ns 0.03 ns 0.01 0.53 True
[BitwiseOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).BitwiseOrOperatorBenchmark.html>) 3.18 ns 0.03 ns 0.01 0.51 True
[OnesComplementBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).OnesComplementBenchmark.html>) 9.18 ns 0.03 ns 0.00 0.03 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).EqualsBenchmark.html>) 1.34 ns 0.11 ns 0.08 0.57 False
[GreaterThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanBenchmark.html>) 30.73 ns 0.03 ns 0.00 0.55 False
[MultiplyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).MultiplyBenchmark.html>) 27.59 ns 22.23 ns 0.81 0.03 False
[EqualsAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).EqualsAnyBenchmark.html>) 23.64 ns 0.10 ns 0.00 0.07 True
[MaxBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).MaxBenchmark.html>) 35.37 ns 0.03 ns 0.00 0.51 False
[LessThanOrEqualBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanOrEqualBenchmark.html>) 35.10 ns 0.25 ns 0.01 0.00 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).AddBenchmark.html>) 3.12 ns 0.03 ns 0.01 0.50 True
[LessThanBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanBenchmark.html>) 35.26 ns 0.00 ns 0.00 0.55 True
[SubtractionOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).SubtractionOperatorBenchmark.html>) 3.13 ns 0.03 ns 0.01 0.46 True
[LessThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanAnyBenchmark.html>) 2.11 ns 0.27 ns 0.13 0.29 True
[GreaterThanOrEqualAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanOrEqualAllBenchmark.html>) 2.21 ns 0.13 ns 0.06 0.38 True
[MultiplyOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).MultiplyOperatorBenchmark.html>) 27.23 ns 22.54 ns 0.83 0.03 True
[OneBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).OneBenchmark.html>) 2.67 ns 0.02 ns 0.01 0.15 True
[ExclusiveOrOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).ExclusiveOrOperatorBenchmark.html>) 3.13 ns 0.03 ns 0.01 0.40 True
[BitwiseAndOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).BitwiseAndOperatorBenchmark.html>) 3.08 ns 0.03 ns 0.01 0.47 True
[AndNotBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).AndNotBenchmark.html>) 9.31 ns 0.03 ns 0.00 0.01 True
[GreaterThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanOrEqualAnyBenchmark.html>) 30.51 ns 0.11 ns 0.00 0.47 True
[LessThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanAllBenchmark.html>) 26.50 ns 0.27 ns 0.01 0.45 True
[MinBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).MinBenchmark.html>) 45.02 ns 0.03 ns 0.00 0.55 False
[SquareRootBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).SquareRootBenchmark.html>) 90.99 ns 27.64 ns 0.30 0.20 True
[GreaterThanAllBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanAllBenchmark.html>) 1.80 ns 0.27 ns 0.15 0.50 True
[ConditionalSelectBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).ConditionalSelectBenchmark.html>) 9.72 ns 0.24 ns 0.03 0.01 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).NegateBenchmark.html>) 2.75 ns 0.00 ns 0.00 0.25 True
[AbsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).AbsBenchmark.html>) 24.20 ns 0.00 ns 0.00 0.28 True
[ZeroBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).ZeroBenchmark.html>) 2.68 ns 0.00 ns 0.00 0.11 True
[LessThanOrEqualAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).LessThanOrEqualAnyBenchmark.html>) 2.43 ns 0.12 ns 0.05 0.43 True
[GreaterThanAnyBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).GreaterThanAnyBenchmark.html>) 23.77 ns 0.10 ns 0.00 0.05 True
[EqualsStaticBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_VectorOf(SByte).EqualsStaticBenchmark.html>) 32.47 ns 0.03 ns 0.00 0.51 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf<SByte>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorOf<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_VectorOf<SByte>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_VectorOf<SByte>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_VectorOf<SByte>.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027432376127280993 < 2.862450792660041. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 9.928441814759704 (T) = (0 -0.2970630757886728) / Math.Sqrt((0.025806147742226976 / (299)) + (1.0902475607397109 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9001583270827279 = (2.975341529331311 - 0.2970630757886728) / 2.975341529331311 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.13387757522048907 < 25.377159610720355. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 194.17217902679172 (T) = (0 -0.13171557756327312) / Math.Sqrt((5.661363692522293 / (299)) + (1.1237628514901627E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9950945263374085 = (26.8507358560945 - 0.13171557756327312) / 26.8507358560945 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.UnaryNegateOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.720338949868909. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 395.46040985757105 (T) = (0 -0.0005579482906446727) / Math.Sqrt((0.015835896040778202 / (299)) + (4.669594425499684E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9998067370275631 = (2.8869901130531965 - 0.0005579482906446727) / 2.8869901130531965 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.OnesComplementOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 8.704438066561522. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 597.4259329735743 (T) = (0 -0.0122427946191049) / Math.Sqrt((0.03560856354019649 / (299)) + (0.0017567346344172102 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9986684095780539 = (9.194114359288267 - 0.0122427946191049) / 9.194114359288267 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.24297165511251756 < 33.183240838806206. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 101.02479423899531 (T) = (0 -0.5009206368252576) / Math.Sqrt((27.073870318729753 / (299)) + (0.9770530553197846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9875893632851426 = (40.362202869541434 - 0.5009206368252576) / 40.362202869541434 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseAndBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026839210103130267 < 2.794988162457831. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 309.11058365684227 (T) = (0 -0.027750327348679566) / Math.Sqrt((0.027009682794797582 / (299)) + (3.1143731306362105E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9906438381457906 = (2.9659947937085422 - 0.027750327348679566) / 2.9659947937085422 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.XorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02561276934705059 < 2.922662637444531. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 308.23708523610264 (T) = (0 -0.02747900673778932) / Math.Sqrt((0.02709945302365023 / (299)) + (2.4489631600982198E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9907309252830488 = (2.9645900563878516 - 0.02747900673778932) / 2.9645900563878516 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseOrBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027788170847533534 < 2.664393677429022. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 184.25350464067012 (T) = (0 -0.03933605835534132) / Math.Sqrt((0.04376832749434274 / (299)) + (0.0015255028268996668 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9868160355050402 = (2.983628966111016 - 0.03933605835534132) / 2.983628966111016 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026065782483365916 < 2.653400786337711. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 293.5069593847103 (T) = (0 -0.028514125955794667) / Math.Sqrt((0.030203617020304312 / (299)) + (9.92090911820708E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9904574058509712 = (2.988089560394493 - 0.028514125955794667) / 2.988089560394493 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026721653629733166 < 2.9697703956295705. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 116.25260703148473 (T) = (0 -0.05757242348321913) / Math.Sqrt((0.02538121652517537 / (299)) + (0.008290737097429874 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9807645888671285 = (2.9930435635364843 - 0.05757242348321913) / 2.9930435635364843 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.OnesComplementBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027884603393948507 < 8.736784754579928. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1071.5025252355686 (T) = (0 -0.025668520909957148) / Math.Sqrt((0.00942988814807261 / (299)) + (0.0006218575134473118 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.997203953935887 = (9.180292570787572 - 0.025668520909957148) / 9.180292570787572 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11232720305426984 < 1.2680440730282254. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 31.385967050574994 (T) = (0 -0.22074340660160574) / Math.Sqrt((0.03380234042536447 / (299)) + (0.011658471027245331 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8092477186256576 = (1.1572255126448905 - 0.22074340660160574) / 1.1572255126448905 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.03348526697553318 < 29.18817795013317. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 158.07783749691762 (T) = (0 -0.03334855506510462) / Math.Sqrt((13.651329859559057 / (299)) + (7.047860609784695E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9990136629351014 = (33.81050581175372 - 0.03334855506510462) / 33.81050581175372 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.MultiplyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.231397406927965 < 26.200346409719305. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 7.630228329471404 (T) = (0 -22.768434362345396) / Math.Sqrt((0.29648797219934403 / (299)) + (6.7068460072927465 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.18323073778165366 = (27.87621353490495 - 22.768434362345396) / 27.87621353490495 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10388210701724515 < 22.457411252172363. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 687.0767054162291 (T) = (0 -0.11449319388078048) / Math.Sqrt((0.3071899763240882 / (299)) + (0.002298963895395628 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9951958427136699 = (23.83210770524998 - 0.11449319388078048) / 23.83210770524998 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.MaxBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.03315414380625941 < 36.86311117460351. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 147.59849063480905 (T) = (0 -0.035256739330905) / Math.Sqrt((20.760318644686233 / (299)) + (3.0175838648163683E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9990943111740587 = (38.92809353616517 - 0.035256739330905) / 38.92809353616517 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.24530389843659234 < 33.3413282008559. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1706.104315276963 (T) = (0 -0.24523311837597492) / Math.Sqrt((0.12648727239956928 / (299)) + (6.886765334193264E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9930603463710945 = (35.33794789908785 - 0.24523311837597492) / 35.33794789908785 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.028052942528455343 < 2.8157502851218195. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 126.69654895918592 (T) = (0 -0.054969316563655744) / Math.Sqrt((0.020957435302598425 / (299)) + (0.00697102061259611 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9815847795138293 = (2.9849936689563905 - 0.054969316563655744) / 2.9849936689563905 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 33.47188890179045. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 204.3104004852443 (T) = (0 -0.013087411778987448) / Math.Sqrt((8.196443666846902 / (299)) + (0.0002757592253341586 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9996133903901259 = (33.851749787730554 - 0.013087411778987448) / 33.851749787730554 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.SubtractionOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.027065525493869102 < 2.968658387710107. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 334.1249785532688 (T) = (0 -0.027292931147238443) / Math.Sqrt((0.023309608817805975 / (299)) + (6.450174174354905E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.990835868471823 = (2.978234332770197 - 0.027292931147238443) / 2.978234332770197 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2747320378669568 < 2.007570262304893. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 320.44832734768306 (T) = (0 -0.2754045963457944) / Math.Sqrt((0.010080081291298797 / (299)) + (1.1861450974560889E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8711974131736749 = (2.1381915001221588 - 0.2754045963457944) / 2.1381915001221588 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.12854411912814556 < 2.099378541594728. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 195.5648114623469 (T) = (0 -0.12626956575655393) / Math.Sqrt((0.03284441393486286 / (299)) + (2.1591786951140998E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9423251396816705 = (2.189334574190973 - 0.12626956575655393) / 2.189334574190973 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.MultiplyOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.5440623474003 < 25.94173763023914. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 71.34397317772545 (T) = (0 -22.126618093944902) / Math.Sqrt((0.4034946004121488 / (299)) + (0.07762932556460803 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.20663272110794584 = (27.889501725915594 - 22.126618093944902) / 27.889501725915594 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.OneBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.020959788501404193 < 2.5402741245903155. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 424.30665607124746 (T) = (0 -0.008253159797326555) / Math.Sqrt((0.009068159193679622 / (299)) + (0.00015012670753818824 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9969467527039944 = (2.7030761013442413 - 0.008253159797326555) / 2.7030761013442413 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.ExclusiveOrOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.026603208680830062 < 2.9689079656151898. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 325.8044470865391 (T) = (0 -0.03088105110342718) / Math.Sqrt((0.02150157710235975 / (299)) + (0.00018124854593759817 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9897637650171082 = (3.0168368697123196 - 0.03088105110342718) / 3.0168368697123196 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.BitwiseAndOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02809122028190686 < 2.9251745103498505. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 309.5237945640348 (T) = (0 -0.02764109291531756) / Math.Sqrt((0.02716865787405679 / (299)) + (3.6606354231416645E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9907198451868933 = (2.9785163579684224 - 0.02764109291531756) / 2.9785163579684224 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.AndNotBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.02818029339262857 < 8.849809890116706. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2625.4560655625846 (T) = (0 -0.02783440742587928) / Math.Sqrt((0.0037649580509718345 / (299)) + (2.164563635379939E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9970229290648538 = (9.349594965063424 - 0.02783440742587928) / 9.349594965063424 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11354257634279136 < 26.69869945597959. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 158.97051727318194 (T) = (0 -0.11180868721162925) / Math.Sqrt((9.229548389275724 / (299)) + (3.48644052487899E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9960128037172096 = (28.041932044885293 - 0.11180868721162925) / 28.041932044885293 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.268653735360537 < 24.939566522989985. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 483.11119860276125 (T) = (0 -0.2693138305690575) / Math.Sqrt((0.8142485755384443 / (299)) + (6.732464484471052E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9894305983745929 = (25.480518208492644 - 0.2693138305690575) / 25.480518208492644 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.MinBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.033503897912308706 < 42.63137758305357. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 111.8175996726781 (T) = (0 -0.03325453221509542) / Math.Sqrt((37.80513324127956 / (299)) + (8.364723011776785E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9991643244253644 = (39.793591226591545 - 0.03325453221509542) / 39.793591226591545 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.SquareRootBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.640752204473237 < 88.96710005673896. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 391.7609656351165 (T) = (0 -27.448698645351758) / Math.Sqrt((8.294856995098012 / (299)) + (0.014581022803538906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7074743475127937 = (93.83347549853679 - 27.448698645351758) / 93.83347549853679 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanAllBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.26963986409813756 < 1.710230163772551. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 144.2125211639355 (T) = (0 -0.27023496455826734) / Math.Sqrt((0.04206151209310831 / (299)) + (8.995318687172068E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8635898452665165 = (1.9810472694371561 - 0.27023496455826734) / 1.9810472694371561 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.ConditionalSelectBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.24421221983228686 < 9.242377305926098. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 3653.280468918248 (T) = (0 -0.24537568212017796) / Math.Sqrt((0.002003140665219678 / (299)) + (6.354822869398844E-07 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9747844686847932 = (9.731132731365397 - 0.24537568212017796) / 9.731132731365397 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.609638240854429. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 220.89261297134064 (T) = (0 -0.011413434010886233) / Math.Sqrt((0.010614218711497526 / (299)) + (0.0019539971388128196 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.996002866917369 = (2.855405055308589 - 0.011413434010886233) / 2.855405055308589 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.AbsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 23.916912023361768. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 510.15806845797795 (T) = (0 -0.00560905133109801) / Math.Sqrt((0.6973588941891775 / (299)) + (0.0001348990805873002 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9997728264815632 = (24.690603771493112 - 0.00560905133109801) / 24.690603771493112 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.ZeroBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0 < 2.546878709403053. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 502.1963878346795 (T) = (0 -0.005280767472760601) / Math.Sqrt((0.0061814925571520695 / (299)) + (0.00012048420294708146 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.998041226015162 = (2.695955487277505 - 0.005280767472760601) / 2.695955487277505 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.LessThanOrEqualAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.11530523316080249 < 2.3093498990364782. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 228.44284590663614 (T) = (0 -0.1134380102172175) / Math.Sqrt((0.026868740062755123 / (299)) + (2.4722338178828463E-06 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9502674279436291 = (2.2809600534763788 - 0.1134380102172175) / 2.2809600534763788 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.GreaterThanAnyBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.09976302642313016 < 22.510503759272783. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 674.2929759078172 (T) = (0 -0.12347925140033955) / Math.Sqrt((0.2864580941509494 / (299)) + (0.004149170804091351 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9948154238677283 = (23.816653136161772 - 0.12347925140033955) / 23.816653136161772 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_VectorOf<SByte>.EqualsStaticBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.033818733077711174 < 33.31413132650272. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 168.16088900730318 (T) = (0 -0.03750996691723208) / Math.Sqrt((12.03834450583489 / (299)) + (0.0002405019208799675 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9988897903084227 = (33.786380358419855 - 0.03750996691723208) / 33.786380358419855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.IO.Tests.Perf_FileStream

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201048576%2c%20userBufferSize%3a%204096%2c%20options%3a%20Asynchronous).html>) 230.73 μs 191.88 μs 0.83 0.01 True
[Write - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Write(fileSize%3a%201024%2c%20userBufferSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 47.82 μs 42.18 μs 0.88 0.32 False
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201048576%2c%20userBufferSize%3a%204096%2c%20options%3a%20None).html>) 227.43 μs 191.06 μs 0.84 0.00 True
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%20104857600%2c%20userBufferSize%3a%204096%2c%20options%3a%20None).html>) 26.43 ms 22.75 ms 0.86 0.08 False
[ReadByte - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.ReadByte(fileSize%3a%201024%2c%20options%3a%20None).html>) 11.57 μs 7.27 μs 0.63 0.07 True
[Read_NoBuffering - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read_NoBuffering(fileSize%3a%201048576%2c%20userBufferSize%3a%2016384%2c%20options%3a%20None).html>) 91.44 μs 84.95 μs 0.93 0.11 False
[LockUnlock - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.LockUnlock(fileSize%3a%201024%2c%20options%3a%20None).html>) 10.29 μs 7.42 μs 0.72 0.00 True
[SeekBackward - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.SeekBackward(fileSize%3a%201024%2c%20options%3a%20None).html>) 701.84 μs 585.09 μs 0.83 0.00 True
[Read_NoBuffering - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read_NoBuffering(fileSize%3a%201048576%2c%20userBufferSize%3a%2016384%2c%20options%3a%20Asynchronous).html>) 92.06 μs 79.86 μs 0.87 0.11 False
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%20104857600%2c%20userBufferSize%3a%204096%2c%20options%3a%20Asynchronous).html>) 26.09 ms 22.78 ms 0.87 0.03 False
[ReadByte - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.ReadByte(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 11.42 μs 7.19 μs 0.63 0.06 True
[Append - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Append(fileSize%3a%201048576%2c%20userBufferSize%3a%204096%2c%20options%3a%20DeleteOnClose).html>) 665.23 μs 611.12 μs 0.92 0.01 False
[Flush - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Flush(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 1.53 ms 1.40 ms 0.92 0.02 False
[SeekForward - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.SeekForward(fileSize%3a%201024%2c%20options%3a%20None).html>) 24.75 μs 13.19 μs 0.53 0.04 True
[OpenClose - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.OpenClose(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 5.77 μs 3.99 μs 0.69 0.00 True
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201024%2c%20userBufferSize%3a%201024%2c%20options%3a%20None).html>) 7.71 μs 5.10 μs 0.66 0.03 True
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201048576%2c%20userBufferSize%3a%20512%2c%20options%3a%20Asynchronous).html>) 603.44 μs 233.66 μs 0.39 0.01 True
[GetLength - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.GetLength(options%3a%20Write).html>) 677.83 ns 567.91 ns 0.84 0.00 True
[SeekBackward - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.SeekBackward(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 699.17 μs 578.35 μs 0.83 0.02 True
[Flush - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Flush(fileSize%3a%201024%2c%20options%3a%20None).html>) 1.54 ms 1.40 ms 0.90 0.02 False
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201024%2c%20userBufferSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 7.72 μs 5.08 μs 0.66 0.01 True
[SeekForward - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.SeekForward(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 24.40 μs 13.19 μs 0.54 0.04 True
[OpenClose - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.OpenClose(fileSize%3a%201024%2c%20options%3a%20None).html>) 5.74 μs 3.99 μs 0.69 0.02 True
[GetLength - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.GetLength(options%3a%20Read).html>) 681.64 ns 565.00 ns 0.83 0.00 True
[LockUnlock - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.LockUnlock(fileSize%3a%201024%2c%20options%3a%20Asynchronous).html>) 10.34 μs 7.42 μs 0.72 0.01 True
[Read - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.IO.Tests.Perf_FileStream.Read(fileSize%3a%201048576%2c%20userBufferSize%3a%20512%2c%20options%3a%20None).html>) 604.26 μs 226.77 μs 0.38 0.00 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_FileStream*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_FileStream* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.IO.Tests.Perf_FileStream*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.IO.Tests.Perf_FileStream* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1048576, userBufferSize: 4096, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 191.87554654471543 < 218.48735934319015. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 59.404199356978886 (T) = (0 -193042.42190091536) / Math.Sqrt((6838014.925412302 / (299)) + (4890554.544025437 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15381068589490257 = (228131.48155276672 - 193042.42190091536) / 228131.48155276672 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Write(fileSize: 1024, userBufferSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 42.183910950484766 < 45.647300598282996. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 10.687425448178839 (T) = (0 -43086.90018837386) / Math.Sqrt((2815846.5801669327 / (299)) + (2355748.4877101993 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.09190205047112224 = (47447.41490797044 - 43086.90018837386) / 47447.41490797044 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1048576, userBufferSize: 4096, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 191.0648863821138 < 216.30513982077204. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 62.100941751134854 (T) = (0 -192690.90749083314) / Math.Sqrt((5347328.433109905 / (229)) + (4507579.979808492 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.15498130990268752 = (228031.53320625704 - 192690.90749083314) / 228031.53320625704 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 104857600, userBufferSize: 4096, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.747033319999996 < 24.919945586349204. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 24.118661568507548 (T) = (0 -23224084.795489397) / Math.Sqrt((261205942564.8046 / (229)) + (217908714007.5062 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.11503872230189226 = (26243051.962565046 - 23224084.795489397) / 26243051.962565046 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.ReadByte(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.270940762602112 < 11.047591351745112. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 140.8451427049267 (T) = (0 -7248.605804535512) / Math.Sqrt((138336.7770961637 / (230)) + (3865.528354519767 / (15))) is greater than 1.9697743954265454 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (230) + (15) - 2, .975) and 0.3628715746396217 = (11376.993265424457 - 7248.605804535512) / 11376.993265424457 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read_NoBuffering(fileSize: 1048576, userBufferSize: 16384, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 84.94586677123553 < 87.81513667741146. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 16.76888953082817 (T) = (0 -80992.55657020734) / Math.Sqrt((3406182.5723872837 / (228)) + (5578713.316485042 / (15))) is greater than 1.9698562125959236 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (228) + (15) - 2, .975) and 0.11408407744596442 = (91422.39631127894 - 80992.55657020734) / 91422.39631127894 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.LockUnlock(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.424470214897228 < 9.773197235954708. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 181.73580234396383 (T) = (0 -7430.489889794372) / Math.Sqrt((23891.797470045633 / (226)) + (1240.1044281217921 / (15))) is greater than 1.9699394059167992 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (226) + (15) - 2, .975) and 0.2513289363763897 = (9924.905944448261 - 7430.489889794372) / 9924.905944448261 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.SeekBackward(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 585.0870493233618 < 664.4365050618029. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 154.21006657146398 (T) = (0 -582644.6925242222) / Math.Sqrt((41980742.173074044 / (228)) + (5373195.816411129 / (15))) is greater than 1.9698562125959236 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (228) + (15) - 2, .975) and 0.1631201166002425 = (696210.6558915896 - 582644.6925242222) / 696210.6558915896 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read_NoBuffering(fileSize: 1048576, userBufferSize: 16384, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.86406116452991 < 86.25991536179151. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 15.406789546700407 (T) = (0 -81510.05505562983) / Math.Sqrt((3620897.5655757454 / (299)) + (6091698.218825881 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.10892315297730493 = (91473.6538469996 - 81510.05505562983) / 91473.6538469996 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 104857600, userBufferSize: 4096, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.78375584666666 < 24.86223663510378. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 27.49802508085572 (T) = (0 -23236119.025732044) / Math.Sqrt((181645060781.39032 / (299)) + (165418575049.25082 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.11320186792944599 = (26202264.287001643 - 23236119.025732044) / 26202264.287001643 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.ReadByte(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.188456746851633 < 11.011578684034093. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 171.9919311933766 (T) = (0 -7231.999378322761) / Math.Sqrt((142962.9478388129 / (299)) + (1723.7436869355813 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3667508522917842 = (11420.464448307592 - 7231.999378322761) / 11420.464448307592 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Append(fileSize: 1048576, userBufferSize: 4096, options: DeleteOnClose) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 611.1239759615385 < 633.0645949913195. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 33.54775082395966 (T) = (0 -612716.0345239057) / Math.Sqrt((58265072.83471772 / (299)) + (29304662.159210898 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07429277291813897 = (661889.6521477873 - 612716.0345239057) / 661889.6521477873 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Flush(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.400599508116883 < 1.452697087489854. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 34.27641589596989 (T) = (0 -1394346.4659580928) / Math.Sqrt((487506097.64415705 / (299)) + (136566289.70766073 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.07453864241830815 = (1506650.120542728 - 1394346.4659580928) / 1506650.120542728 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.SeekForward(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.185771734022556 < 23.302490070843252. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 206.91682417819487 (T) = (0 -13063.095558116274) / Math.Sqrt((595189.7583991116 / (229)) + (9637.660561173514 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.4741930818361209 = (24843.902023451275 - 13063.095558116274) / 24843.902023451275 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.OpenClose(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.985972011706111 < 5.510747046808882. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 179.89481131429312 (T) = (0 -4000.5793112170754) / Math.Sqrt((5987.643666915064 / (299)) + (1013.0895083859256 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2961639531343513 = (5683.96479412019 - 4000.5793112170754) / 5683.96479412019 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1024, userBufferSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.101914117520172 < 7.425454164412391. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 188.15401015051722 (T) = (0 -5109.951710981912) / Math.Sqrt((21402.157318707254 / (230)) + (1374.1241681118076 / (15))) is greater than 1.9697743954265454 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (230) + (15) - 2, .975) and 0.3334942418985891 = (7666.778041855142 - 5109.951710981912) / 7666.778041855142 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1048576, userBufferSize: 512, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 233.66143610074624 < 570.1545125901442. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 356.3378861069746 (T) = (0 -227577.32648262524) / Math.Sqrt((26155918.67088283 / (299)) + (15198101.442072641 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6216024941259926 = (601423.9601209215 - 227577.32648262524) / 601423.9601209215 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.GetLength(options: Write) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 567.9144685936983 < 643.3707900055169. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 147.7701976432423 (T) = (0 -566.7639047433731) / Math.Sqrt((40.30218491360857 / (299)) + (5.90770194652651 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15935816796567587 = (674.2037847103375 - 566.7639047433731) / 674.2037847103375 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.SeekBackward(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 578.3478690349002 < 665.8207157954545. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 119.1255410501714 (T) = (0 -582326.5305932313) / Math.Sqrt((57652447.98411287 / (299)) + (10883900.055588411 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.16391138850210316 = (696489.0115534078 - 582326.5305932313) / 696489.0115534078 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Flush(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.3959521341783216 < 1.4703706124563718. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 25.54931366829355 (T) = (0 -1394656.9038906635) / Math.Sqrt((641242453.7382346 / (229)) + (239265258.29298115 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.07349757039265899 = (1505292.2251717462 - 1394656.9038906635) / 1505292.2251717462 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1024, userBufferSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.077164224217953 < 7.337793302376145. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 181.89059651367543 (T) = (0 -5118.969204554809) / Math.Sqrt((14355.416650243078 / (299)) + (2204.187121759464 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3316098641647705 = (7658.654624156107 - 5118.969204554809) / 7658.654624156107 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.SeekForward(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.190020713386112 < 23.304931737434043. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 257.6470231417564 (T) = (0 -13138.514664226797) / Math.Sqrt((406080.2685133454 / (299)) + (11054.367880254445 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47301678563645144 = (24931.561966531564 - 13138.514664226797) / 24931.561966531564 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.OpenClose(fileSize: 1024, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.990628466145264 < 5.552644685607693. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 187.76559287844825 (T) = (0 -3995.1197220646004) / Math.Sqrt((8903.722143059997 / (228)) + (629.0310148925208 / (15))) is greater than 1.9698562125959236 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (228) + (15) - 2, .975) and 0.29723670667556057 = (5684.872502611208 - 3995.1197220646004) / 5684.872502611208 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.GetLength(options: Read) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 565.0029792583808 < 644.1353818626125. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 111.52325098122306 (T) = (0 -566.7231913795761) / Math.Sqrt((36.29277730876622 / (299)) + (12.12326324872437 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.15947502110417752 = (674.249077194668 - 566.7231913795761) / 674.249077194668 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.LockUnlock(fileSize: 1024, options: Asynchronous) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.417905197221849 < 9.799067970833491. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 201.50129243042372 (T) = (0 -7446.280277351826) / Math.Sqrt((20895.90850769943 / (299)) + (1225.4603637209673 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.2499073813377728 = (9927.14778427242 - 7446.280277351826) / 9927.14778427242 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.IO.Tests.Perf_FileStream.Read(fileSize: 1048576, userBufferSize: 512, options: None) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 226.77041902472527 < 572.423249780649. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 808.7816352183531 (T) = (0 -226714.88750620867) / Math.Sqrt((27996629.45305416 / (229)) + (1393534.1693009173 / (15))) is greater than 1.96981513413532 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (229) + (15) - 2, .975) and 0.6233155643383231 = (601869.538644371 - 226714.88750620867) / 601869.538644371 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Tests.Perf_Int64

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TryParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParseSpan(value%3a%20%2212345%22).html>) 44.61 ns 15.22 ns 0.34 0.05 False
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ParseSpan(value%3a%20%229223372036854775807%22).html>) 94.59 ns 31.14 ns 0.33 0.12 False
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryFormat(value%3a%20-9223372036854775808).html>) 180.19 ns 24.44 ns 0.14 0.02 False
[TryParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParseSpan(value%3a%20%22-9223372036854775808%22).html>) 87.89 ns 33.21 ns 0.38 0.15 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParse(value%3a%20%229223372036854775807%22).html>) 95.48 ns 30.93 ns 0.32 0.15 False
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryFormat(value%3a%209223372036854775807).html>) 150.66 ns 12.82 ns 0.09 0.01 True
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ToString(value%3a%209223372036854775807).html>) 164.40 ns 20.38 ns 0.12 0.01 False
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ParseSpan(value%3a%20%22-9223372036854775808%22).html>) 88.51 ns 34.30 ns 0.39 0.16 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ToString(value%3a%2012345).html>) 56.62 ns 11.83 ns 0.21 0.02 True
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParse(value%3a%20%2212345%22).html>) 46.53 ns 14.65 ns 0.31 0.06 False
[TryParse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParse(value%3a%20%22-9223372036854775808%22).html>) 89.95 ns 31.52 ns 0.35 0.16 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.Parse(value%3a%20%229223372036854775807%22).html>) 91.51 ns 31.11 ns 0.34 0.05 False
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.Parse(value%3a%20%2212345%22).html>) 47.70 ns 16.07 ns 0.34 0.05 False
[TryFormat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryFormat(value%3a%2012345).html>) 48.68 ns 5.21 ns 0.11 0.03 True
[ParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ParseSpan(value%3a%20%2212345%22).html>) 44.66 ns 15.41 ns 0.35 0.03 True
[Parse - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.Parse(value%3a%20%22-9223372036854775808%22).html>) 89.95 ns 34.49 ns 0.38 0.08 False
[ToString - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.ToString(value%3a%20-9223372036854775808).html>) 181.66 ns 32.68 ns 0.18 0.03 False
[TryParseSpan - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Tests.Perf_Int64.TryParseSpan(value%3a%20%229223372036854775807%22).html>) 95.30 ns 31.07 ns 0.33 0.12 False

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_Int64*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_Int64* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Tests.Perf_Int64*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Tests.Perf_Int64* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Tests.Perf_Int64.TryParseSpan(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.218060269706843 < 42.41265457877392. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.4495539267073 (T) = (0 -15.523106404469587) / Math.Sqrt((27.28511479414167 / (299)) + (0.13179336297659613 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5824110126468954 = (37.17316996998192 - 15.523106404469587) / 37.17316996998192 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ParseSpan(value: "9223372036854775807") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.139080175990035 < 84.12984347506618. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.35374809081176 (T) = (0 -31.075286420755003) / Math.Sqrt((121.5769901351513 / (299)) + (0.029319332222851765 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5843686656387665 = (74.76646694242464 - 31.075286420755003) / 74.76646694242464 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryFormat(value: -9223372036854775808) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.43675587119846 < 171.57825213369813. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 104.59372250157352 (T) = (0 -24.929392758312137) / Math.Sqrt((428.0195099704883 / (299)) + (0.6195566081046985 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8358434925925632 = (151.86356698268025 - 24.929392758312137) / 151.86356698268025 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryParseSpan(value: "-9223372036854775808") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 33.207172815468034 < 83.50769493597718. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 46.59809931309719 (T) = (0 -32.99521231512318) / Math.Sqrt((199.15373647923957 / (299)) + (0.19454334583520397 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5378415981372178 = (71.39373033603243 - 32.99521231512318) / 71.39373033603243 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryParse(value: "9223372036854775807") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 30.927155958298783 < 87.83222170979616. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 46.45405828537312 (T) = (0 -30.613539553450675) / Math.Sqrt((216.98448975920883 / (299)) + (0.1534046504304702 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5655479962556528 = (70.46472174050595 - 30.613539553450675) / 70.46472174050595 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryFormat(value: 9223372036854775807) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.822530567733395 < 144.46315580949673. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 144.6394961192265 (T) = (0 -12.909586366764294) / Math.Sqrt((205.38380315972947 / (299)) + (0.14221994369665691 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9033790809710387 = (133.61067661646604 - 12.909586366764294) / 133.61067661646604 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ToString(value: 9223372036854775807) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.381289773030304 < 156.12208627692786. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 106.43102219295476 (T) = (0 -20.44344003289744) / Math.Sqrt((367.4658612622573 / (299)) + (0.007855058741549185 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8523485957623943 = (138.45747108506436 - 20.44344003289744) / 138.45747108506436 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ParseSpan(value: "-9223372036854775808") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.304860721567344 < 86.7632375227312. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 59.86347708008083 (T) = (0 -33.563844632619336) / Math.Sqrt((118.9051816139692 / (299)) + (1.2431685011504583 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5528541540476372 = (75.06240958390809 - 33.563844632619336) / 75.06240958390809 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ToString(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.825805206478538 < 51.90830963571262. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 187.72390662582848 (T) = (0 -11.896849672981151) / Math.Sqrt((12.396950242835398 / (299)) + (0.0033313952824345554 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7631221124291818 = (50.22355524605227 - 11.896849672981151) / 50.22355524605227 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryParse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 14.654455371866375 < 43.64418691990795. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 67.19457975417112 (T) = (0 -15.039405534819272) / Math.Sqrt((29.178182861505395 / (299)) + (0.08349165187407398 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.5897825308730479 = (36.66203091454633 - 15.039405534819272) / 36.66203091454633 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryParse(value: "-9223372036854775808") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.519632430983528 < 85.63425059101127. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 42.44999632926667 (T) = (0 -33.52997009695945) / Math.Sqrt((196.03979729744293 / (299)) + (1.65559924678825 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5256317059660669 = (70.68341311732134 - 33.52997009695945) / 70.68341311732134 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.Parse(value: "9223372036854775807") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.10741809003276 < 91.05418418789885. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 49.86375414794774 (T) = (0 -31.06746754343006) / Math.Sqrt((200.4254097437055 / (299)) + (0.05983893304211086 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5685896505048731 = (72.01372795017053 - 31.06746754343006) / 72.01372795017053 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.Parse(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.072314683037618 < 43.98019173328408. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 68.39202468485618 (T) = (0 -15.70701081686716) / Math.Sqrt((29.96572849444479 / (299)) + (0.17275374781309694 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5927496969525778 = (38.56844476071062 - 15.70701081686716) / 38.56844476071062 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryFormat(value: 12345) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.209350667316985 < 46.88969739401033. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 442.98083091401736 (T) = (0 -4.88680918700732) / Math.Sqrt((2.15057512006606 / (299)) + (0.04027232553687913 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9000907183130011 = (48.91246443265383 - 4.88680918700732) / 48.91246443265383 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ParseSpan(value: "12345") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.414455161809093 < 42.45856037172829. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 190.21181120528053 (T) = (0 -15.393178162507498) / Math.Sqrt((5.07402148986321 / (299)) + (0.019558074900604752 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6261214457487007 = (41.17159967447906 - 15.393178162507498) / 41.17159967447906 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.Parse(value: "-9223372036854775808") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.49192981738256 < 88.25633702868643. IsChangePoint: Marked as a change because one of 4/17/2023 6:40:18 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 45.17168554854422 (T) = (0 -33.021464183185984) / Math.Sqrt((195.91734372564525 / (299)) + (1.4891888285956736 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5430126083254042 = (72.2590268019897 - 33.021464183185984) / 72.2590268019897 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.ToString(value: -9223372036854775808) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 32.68404854814706 < 173.063268649057. IsChangePoint: Marked as a change because one of 4/12/2023 4:44:56 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 110.09417266797547 (T) = (0 -33.205138727084844) / Math.Sqrt((346.18046469998825 / (299)) + (0.5842238135004082 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7838818553744261 = (153.64345638175348 - 33.205138727084844) / 153.64345638175348 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms #### System.Tests.Perf_Int64.TryParseSpan(value: "9223372036854775807") ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 31.065152631934648 < 84.39435218546662. IsChangePoint: Marked as a change because one of 4/17/2023 1:54:35 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 49.20139229666038 (T) = (0 -30.916045216430234) / Math.Sqrt((201.0928797050349 / (299)) + (0.03996149045375402 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5666718136376917 = (71.34556714614716 - 30.916045216430234) / 71.34556714614716 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Memory.ReadOnlySequence

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Slice_Start - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start(Segment%3a%20Single).html>) 9.94 ns 2.45 ns 0.25 0.19 True
[Slice_Repeat_StartPosition_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Repeat_StartPosition_And_EndPosition(Segment%3a%20Single).html>) 74.91 ns 20.69 ns 0.28 0.04 True
[Slice_StartPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition(Segment%3a%20Single).html>) 15.95 ns 6.31 ns 0.40 0.03 True
[Slice_Start_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment%3a%20Single).html>) 30.34 ns 4.49 ns 0.15 0.03 True
[Slice_StartPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition(Segment%3a%20Multiple).html>) 22.15 ns 10.56 ns 0.48 0.10 True
[Slice_StartPosition_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment%3a%20Multiple).html>) 18.43 ns 10.41 ns 0.57 0.22 True
[Slice_Repeat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Repeat(Segment%3a%20Multiple).html>) 119.35 ns 36.31 ns 0.30 0.04 True
[Slice_Repeat - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Repeat(Segment%3a%20Single).html>) 85.62 ns 27.95 ns 0.33 0.03 True
[Slice_Start - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start(Segment%3a%20Multiple).html>) 10.00 ns 2.31 ns 0.23 0.19 True
[Slice_Start_And_Length - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment%3a%20Multiple).html>) 33.58 ns 7.37 ns 0.22 0.04 True
[Slice_StartPosition_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment%3a%20Single).html>) 15.35 ns 4.45 ns 0.29 0.02 True
[Slice_Repeat_StartPosition_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Repeat_StartPosition_And_EndPosition(Segment%3a%20Multiple).html>) 93.01 ns 44.13 ns 0.47 0.02 True
[Slice_StartPosition_And_Length - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment%3a%20Multiple).html>) 36.79 ns 11.27 ns 0.31 0.19 True
[Slice_Start_And_Length - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment%3a%20Single).html>) 20.66 ns 4.21 ns 0.20 0.07 True
[Slice_Start_And_EndPosition - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment%3a%20Multiple).html>) 32.04 ns 10.30 ns 0.32 0.10 True
[Slice_StartPosition_And_Length - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment%3a%20Single).html>) 30.98 ns 4.58 ns 0.15 0.02 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.ReadOnlySequence*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.ReadOnlySequence* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Memory.ReadOnlySequence*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Memory.ReadOnlySequence* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Memory.ReadOnlySequence.Slice_Start(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.4529076337113107 < 9.580807318941929. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 255.9755059128247 (T) = (0 -2.413572994287116) / Math.Sqrt((0.2328603419825181 / (299)) + (0.0018873117444273189 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7613280978172375 = (10.112514176213871 - 2.413572994287116) / 10.112514176213871 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Repeat_StartPosition_And_EndPosition(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 20.6945321882409 < 71.15017893607796. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 262.618591965995 (T) = (0 -19.80005642964949) / Math.Sqrt((0.49579351261913307 / (299)) + (0.6435950954796285 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7368401347844461 = (75.23965105177147 - 19.80005642964949) / 75.23965105177147 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.31453836610817 < 15.157897552367697. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 284.9446101656631 (T) = (0 -6.2293070545478075) / Math.Sqrt((0.06640450844283922 / (299)) + (0.014660410969188993 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6130339551467548 = (16.097813070162882 - 6.2293070545478075) / 16.097813070162882 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.487620066650555 < 28.81729111152526. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 529.5086141640999 (T) = (0 -4.342944512931501) / Math.Sqrt((0.16644270995993526 / (299)) + (0.028026857717917193 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8572286252398926 = (30.418874373303208 - 4.342944512931501) / 30.418874373303208 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.564004652388782 < 17.735808900824228. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 86.23668490804272 (T) = (0 -10.511874619438105) / Math.Sqrt((2.584120478879019 / (299)) + (0.009624673460227879 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4414865557036768 = (18.82116666445178 - 10.511874619438105) / 18.82116666445178 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.414992772908732 < 17.49913378036224. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 102.85228954709835 (T) = (0 -10.576849777853315) / Math.Sqrt((0.42637128312996736 / (299)) + (0.0616639632550114 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4198152058271558 = (18.23013957636115 - 10.576849777853315) / 18.23013957636115 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 36.3137030941303 < 113.90488114854857. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 317.49444366454253 (T) = (0 -36.06043832711876) / Math.Sqrt((2.528579250302004 / (299)) + (0.9179635027755383 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6991301011616071 = (119.85392512292502 - 36.06043832711876) / 119.85392512292502 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Repeat(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 27.947500731183418 < 79.41068865854612. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 541.7823173357949 (T) = (0 -28.029871643733546) / Math.Sqrt((1.5565002790796987 / (299)) + (0.08297219230779163 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6669830978403353 = (84.16951650788775 - 28.029871643733546) / 84.16951650788775 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Start(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.310130342757214 < 9.592021357684317. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 340.87687542401284 (T) = (0 -2.388996639504309) / Math.Sqrt((0.08920862562757431 / (299)) + (0.0031514599040092864 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7628882322992534 = (10.075403100698944 - 2.388996639504309) / 10.075403100698944 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.369444353083164 < 31.842545319261855. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 784.9876146980687 (T) = (0 -7.4547055452557816) / Math.Sqrt((0.19947586159128952 / (299)) + (0.006569263802717207 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7778032194327056 = (33.55001600933661 - 7.4547055452557816) / 33.55001600933661 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition_And_EndPosition(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.449426223318301 < 14.572567312306882. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 192.2665208500564 (T) = (0 -4.668839407123943) / Math.Sqrt((0.04140260978465998 / (299)) + (0.04420043694555935 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6958042838703273 = (15.348143184020737 - 4.668839407123943) / 15.348143184020737 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Repeat_StartPosition_And_EndPosition(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 44.126141454976114 < 88.05154832873107. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 356.99540251275346 (T) = (0 -44.358382529611156) / Math.Sqrt((1.1711934130530122 / (299)) + (0.2018524766037751 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.52147461694727 = (92.69807642518137 - 44.358382529611156) / 92.69807642518137 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.274325301920008 < 31.656992644564145. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 198.33135317652648 (T) = (0 -10.208525625055033) / Math.Sqrt((1.224882253506974 / (299)) + (0.14912598649887635 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6971438744593947 = (33.70750915746734 - 10.208525625055033) / 33.70750915746734 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Start_And_Length(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.207566440260087 < 19.667950773650833. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 300.5537433962746 (T) = (0 -4.072862368132025) / Math.Sqrt((0.10561351145615794 / (299)) + (0.040086546902785805 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8023373478885409 = (20.60511849165819 - 4.072862368132025) / 20.60511849165819 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_Start_And_EndPosition(Segment: Multiple) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 10.299494368634084 < 30.564914358687982. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 201.07973202333574 (T) = (0 -10.355237997343984) / Math.Sqrt((0.8583980658839268 / (299)) + (0.13778540079369683 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6807318413773487 = (32.43429611652261 - 10.355237997343984) / 32.43429611652261 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Memory.ReadOnlySequence.Slice_StartPosition_And_Length(Segment: Single) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.575026063112452 < 29.976990885925357. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 697.7391497995403 (T) = (0 -4.406743857291716) / Math.Sqrt((0.08659330212192404 / (299)) + (0.017943624064279778 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8592198727330276 = (31.30231477156475 - 4.406743857291716) / 31.30231477156475 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.ComponentModel.Tests.Perf_TypeDescriptorTests

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(int%3f)).html>) 402.37 ns 140.58 ns 0.35 0.20 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(int)).html>) 405.18 ns 122.28 ns 0.30 0.20 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.DerivedClass)).html>) 614.42 ns 122.42 ns 0.20 0.11 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.SomeValueType%3f)).html>) 394.90 ns 122.50 ns 0.31 0.11 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(string)).html>) 313.90 ns 94.54 ns 0.30 0.22 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.SomeEnum)).html>) 532.49 ns 168.05 ns 0.32 0.24 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.Guid)).html>) 419.46 ns 122.48 ns 0.29 0.13 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.Enum)).html>) 397.87 ns 122.43 ns 0.31 0.13 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.IDerived)).html>) 178.05 ns 79.99 ns 0.45 0.11 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.ClassWithNoConverter)).html>) 249.37 ns 94.69 ns 0.38 0.14 True
[GetConverter - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert%3a%20typeof(System.ComponentModel.Tests.ClassIDerived)).html>) 246.46 ns 93.59 ns 0.38 0.15 True

graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.ComponentModel.Tests.Perf_TypeDescriptorTests*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.ComponentModel.Tests.Perf_TypeDescriptorTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.ComponentModel.Tests.Perf_TypeDescriptorTests*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.ComponentModel.Tests.Perf_TypeDescriptorTests* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int?)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 140.58177910906582 < 380.7608506587573. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 330.304149454431 (T) = (0 -140.8803545131654) / Math.Sqrt((191.9802659961994 / (299)) + (0.5784132385957377 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6596551675865517 = (413.93416645746225 - 140.8803545131654) / 413.93416645746225 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(int)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.28329999491731 < 387.39240369283596. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 357.0999189799844 (T) = (0 -122.83021404783013) / Math.Sqrt((186.31893145569322 / (299)) + (0.4601700178003938 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7015625411722265 = (411.5777373600902 - 122.83021404783013) / 411.5777373600902 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.DerivedClass)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.42241159468254 < 574.8064476769597. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 497.66204201041296 (T) = (0 -121.92978487099639) / Math.Sqrt((235.8643234449776 / (299)) + (0.45155159127306027 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7869450177073697 = (572.292577056594 - 121.92978487099639) / 572.292577056594 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeValueType?)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.50472094477956 < 378.36487434266695. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 467.04107959656534 (T) = (0 -122.82073027996077) / Math.Sqrt((101.01400200231988 / (299)) + (0.4148379674277819 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6968707183044399 = (405.1760674289214 - 122.82073027996077) / 405.1760674289214 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(string)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 94.53660036656106 < 255.49902187116768. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 238.6990509923165 (T) = (0 -94.73614694919475) / Math.Sqrt((140.8797520049353 / (299)) + (0.3480690733434085 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6391961233850727 = (262.5696481922869 - 94.73614694919475) / 262.5696481922869 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.SomeEnum)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 168.05198403121355 < 512.0228465951477. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 332.0719625567133 (T) = (0 -169.1364767215032) / Math.Sqrt((362.8202434978071 / (299)) + (0.9986377269096202 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6895645207712258 = (544.8361673791117 - 169.1364767215032) / 544.8361673791117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Guid)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.48304828741236 < 395.5035398015958. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 411.1795929420431 (T) = (0 -122.94769660439486) / Math.Sqrt((130.975391904396 / (299)) + (0.7757957098249965 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.700641762985629 = (410.7042379411549 - 122.94769660439486) / 410.7042379411549 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.Enum)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 122.42890659099366 < 386.7881574303853. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 396.1966308212689 (T) = (0 -122.71056604959608) / Math.Sqrt((148.7427923806565 / (299)) + (0.23144340319301734 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6980948620324594 = (406.4540500227901 - 122.71056604959608) / 406.4540500227901 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.IDerived)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 79.98721906833185 < 176.18429472897589. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 315.2194661338985 (T) = (0 -79.19363008209497) / Math.Sqrt((19.907855275092466 / (299)) + (0.5494319200398421 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5611620947878279 = (180.46214591195337 - 79.19363008209497) / 180.46214591195337 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassWithNoConverter)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 94.69120185339582 < 238.7359994709142. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 344.4150011513253 (T) = (0 -94.9692671512861) / Math.Sqrt((53.50475869149147 / (299)) + (0.5651230739980402 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6279634736281393 = (255.26866428260794 - 94.9692671512861) / 255.26866428260794 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.ComponentModel.Tests.Perf_TypeDescriptorTests.GetConverter(typeToConvert: typeof(System.ComponentModel.Tests.ClassIDerived)) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 93.58571045634564 < 242.92465607094402. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 263.73586588679314 (T) = (0 -95.46000757912967) / Math.Sqrt((49.31979461851738 / (299)) + (3.134350860074764 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6281679058821187 = (256.7288006851451 - 95.46000757912967) / 256.7288006851451 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in BenchmarksGame.BinaryTrees_2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[RunBench - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/BenchmarksGame.BinaryTrees_2.RunBench.html>) 181.50 ms 126.18 ms 0.70 0.02 True

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'BenchmarksGame.BinaryTrees_2*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter BenchmarksGame.BinaryTrees_2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'BenchmarksGame.BinaryTrees_2*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter BenchmarksGame.BinaryTrees_2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### BenchmarksGame.BinaryTrees_2.RunBench ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 126.1789056 < 175.75271399166664. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 45.48456685786602 (T) = (0 -120796088.4863492) / Math.Sqrt((7951471281546.322 / (299)) + (27857349219499.6 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.34071747459265583 = (183223555.6550117 - 120796088.4863492) / 183223555.6550117 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Numerics.Tests.Perf_Matrix3x2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[CreateScaleFromScalarBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarBenchmark.html>) 18.36 ns 0.27 ns 0.01 0.03 True
[NegationOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.NegationOperatorBenchmark.html>) 32.00 ns 0.10 ns 0.00 0.02 True
[MultiplyByScalarOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark.html>) 40.68 ns 0.27 ns 0.01 0.03 True
[AddBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark.html>) 46.39 ns 0.98 ns 0.02 0.02 True
[IsIdentityBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark.html>) 19.30 ns 0.67 ns 0.03 0.02 True
[GetDeterminantBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.GetDeterminantBenchmark.html>) 12.27 ns 0.50 ns 0.04 0.02 True
[CreateScaleFromScalarXYBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYBenchmark.html>) 18.89 ns 0.08 ns 0.00 0.05 True
[SubtractBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark.html>) 46.32 ns 0.98 ns 0.02 0.01 True
[CreateFromScalars - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateFromScalars.html>) 18.38 ns 4.46 ns 0.24 0.01 True
[CreateSkewFromScalarXYWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYWithCenterBenchmark.html>) 68.09 ns 0.28 ns 0.00 0.13 True
[MultiplyByMatrixOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixOperatorBenchmark.html>) 45.58 ns 2.34 ns 0.05 0.00 True
[IdentityBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.IdentityBenchmark.html>) 16.44 ns 0.26 ns 0.02 0.03 True
[CreateScaleFromScalarWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark.html>) 30.63 ns 0.11 ns 0.00 0.02 True
[EqualsBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark.html>) 53.24 ns 2.84 ns 0.05 0.00 True
[InequalityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark.html>) 31.85 ns 1.22 ns 0.04 0.03 True
[MultiplyByMatrixBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixBenchmark.html>) 41.79 ns 2.34 ns 0.06 0.01 True
[CreateTranslationFromScalarXY - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromScalarXY.html>) 20.10 ns 0.11 ns 0.01 0.06 True
[NegateBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.NegateBenchmark.html>) 31.96 ns 0.08 ns 0.00 0.01 True
[SubtractOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark.html>) 46.43 ns 0.98 ns 0.02 0.01 True
[CreateScaleFromScalarXYWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark.html>) 30.91 ns 0.08 ns 0.00 0.03 True
[CreateRotationBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark.html>) 58.62 ns 12.37 ns 0.21 0.03 True
[CreateSkewFromScalarXYBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYBenchmark.html>) 61.20 ns 0.28 ns 0.00 0.13 True
[EqualityOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark.html>) 28.93 ns 1.21 ns 0.04 0.01 True
[MultiplyByScalarBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark.html>) 40.69 ns 0.10 ns 0.00 0.03 True
[AddOperatorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark.html>) 46.44 ns 0.99 ns 0.02 0.01 True
[CreateScaleFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorBenchmark.html>) 22.96 ns 0.10 ns 0.00 0.03 True
[CreateRotationWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark.html>) 61.73 ns 12.60 ns 0.20 0.02 True
[LerpBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark.html>) 70.39 ns 0.90 ns 0.01 0.02 True
[CreateScaleFromVectorWithCenterBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark.html>) 31.58 ns 0.08 ns 0.00 0.02 True
[InvertBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.InvertBenchmark.html>) 36.74 ns 0.76 ns 0.02 0.01 True
[CreateTranslationFromVectorBenchmark - Duration of single invocation](<https://pvscmdupload.blob.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromVectorBenchmark.html>) 21.92 ns 0.09 ns 0.00 0.03 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_Matrix3x2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Numerics.Tests.Perf_Matrix3x2*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Numerics.Tests.Perf_Matrix3x2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.26543653666689926 < 17.432519449823943. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 715.9381928959144 (T) = (0 -0.1811992135273268) / Math.Sqrt((0.017137095616248686 / (299)) + (0.00886518494649229 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9901578911114755 = (18.410608496578874 - 0.1811992135273268) / 18.410608496578874 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.NegationOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10246576724796556 < 30.408830355511977. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1861.7033248548682 (T) = (0 -0.13535399604047216) / Math.Sqrt((0.010950694634817475 / (299)) + (0.0038498058445725013 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9957725262879524 = (32.01770259498855 - 0.13535399604047216) / 32.01770259498855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2692594675104748 < 38.651567260619174. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1610.3446910690755 (T) = (0 -0.1883624144435562) / Math.Sqrt((0.02887162407782961 / (299)) + (0.008034246758212776 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9953693676049904 = (40.67747088854425 - 0.1883624144435562) / 40.67747088854425 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.AddBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.980218699308495 < 44.0839717599445. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1092.6273631532752 (T) = (0 -0.9987722617276701) / Math.Sqrt((0.3097245578632438 / (299)) + (0.010446456365299107 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9785094244463236 = (46.47489590183696 - 0.9987722617276701) / 46.47489590183696 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.IsIdentityBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.6691592424556215 < 18.35137752271191. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1875.2468648728304 (T) = (0 -0.6858602330097804) / Math.Sqrt((0.013312590678763203 / (299)) + (0.000812849317128919 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9644950795687929 = (19.3173291104447 - 0.6858602330097804) / 19.3173291104447 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.GetDeterminantBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.4961499799037191 < 11.387180386523815. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1852.528524202137 (T) = (0 -0.49838420457132987) / Math.Sqrt((0.010241316730568316 / (299)) + (6.085013480038422E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9583444363494851 = (11.964409094370012 - 0.49838420457132987) / 11.964409094370012 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.08315422453158787 < 17.94349479058127. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 719.0903826338107 (T) = (0 -0.15742197487639994) / Math.Sqrt((0.028671804882164944 / (299)) + (0.008745709003854171 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9916683168263105 = (18.894378434062368 - 0.15742197487639994) / 18.894378434062368 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.SubtractBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9753807616000284 < 44.10368605863553. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1353.4919066166904 (T) = (0 -0.9814695101199749) / Math.Sqrt((0.33377880610032007 / (299)) + (0.00020158562417090523 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9788816974886766 = (46.47482957466495 - 0.9814695101199749) / 46.47482957466495 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateFromScalars ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.461584460184891 < 17.07665268563375. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 676.5110514716857 (T) = (0 -4.494688847832581) / Math.Sqrt((0.02381124497833726 / (299)) + (0.00482775733441443 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7509872060095678 = (18.050031790757224 - 4.494688847832581) / 18.050031790757224 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.27942024447064046 < 64.65628435787997. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 630.7673918117962 (T) = (0 -0.30300257737923925) / Math.Sqrt((3.5513194656048483 / (299)) + (0.0004558845165399411 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9956171637081275 = (69.13390261487366 - 0.30300257737923925) / 69.13390261487366 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.337865500907288 < 43.24920756499045. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4409.0659877953685 (T) = (0 -2.351703945023876) / Math.Sqrt((0.012658152912566388 / (299)) + (0.000805672553225927 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9483845372681499 = (45.562004495461395 - 2.351703945023876) / 45.562004495461395 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.IdentityBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2560680046960794 < 15.286547125860485. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 738.0564173500926 (T) = (0 -0.1815335416511039) / Math.Sqrt((0.015550360698954293 / (299)) + (0.005784640812811802 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9887247932613987 = (16.100240630587653 - 0.1815335416511039) / 16.100240630587653 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10994962535500548 < 29.087586646976348. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1455.5998434513544 (T) = (0 -0.1944241764074936) / Math.Sqrt((0.024614998788723724 / (299)) + (0.005370338134466244 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.993675078094808 = (30.739379761811414 - 0.1944241764074936) / 30.739379761811414 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.EqualsBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8419363741767123 < 50.63699741468672. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 5872.213856267341 (T) = (0 -2.8389750001896856) / Math.Sqrt((0.02112514219263321 / (299)) + (4.314322840063137E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9466283904981988 = (53.192606081963326 - 2.8389750001896856) / 53.192606081963326 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.InequalityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2217963483774343 < 30.27048711312237. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 812.3554901134186 (T) = (0 -1.184132398395904) / Math.Sqrt((0.16378965253796704 / (299)) + (0.013271688499018608 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9629161693500085 = (31.931231958534852 - 1.184132398395904) / 31.931231958534852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByMatrixBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.3398226731588356 < 39.55480732829566. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 858.0829880104433 (T) = (0 -2.3978342428132913) / Math.Sqrt((0.03195812387228974 / (299)) + (0.029788129777549584 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9424321033288562 = (41.652281592132844 - 2.3978342428132913) / 41.652281592132844 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromScalarXY ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10889060577481766 < 19.087816201459272. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1033.1771250854995 (T) = (0 -0.13493463042049098) / Math.Sqrt((0.03568489319930489 / (299)) + (0.0038105934621454193 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.993286583444158 = (20.09924891418689 - 0.13493463042049098) / 20.09924891418689 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.NegateBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.0837256878632056 < 30.40653033690457. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1515.0560899818888 (T) = (0 -0.12084251307352802) / Math.Sqrt((0.017252376044555248 / (299)) + (0.005778373650317248 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9962244254930746 = (32.00639077625603 - 0.12084251307352802) / 32.00639077625603 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.SubtractOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9754835528824595 < 44.10598963810028. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4618.811152752757 (T) = (0 -0.9880593398505406) / Math.Sqrt((0.011902235949366976 / (299)) + (0.0008559675567447519 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9787275724968658 = (46.44788845584123 - 0.9880593398505406) / 46.44788845584123 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromScalarXYWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.08270719328370205 < 29.381836585874623. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1159.384775132216 (T) = (0 -0.15162439034183794) / Math.Sqrt((0.010999499067654678 / (299)) + (0.010033758597393694 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9951011162562231 = (30.950803952930322 - 0.15162439034183794) / 30.950803952930322 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.367056360117356 < 55.292037875666956. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 515.7366731660492 (T) = (0 -12.422775500986527) / Math.Sqrt((2.237394099906963 / (299)) + (0.0069370647112371045 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7872592581495997 = (58.39396531634852 - 12.422775500986527) / 58.39396531634852 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateSkewFromScalarXYBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.2791082809756883 < 58.25268932721383. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 703.7393636354184 (T) = (0 -0.30551790875244195) / Math.Sqrt((2.294398774582277 / (299)) + (0.0004028063373771599 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9950770649519476 = (62.06011368630829 - 0.30551790875244195) / 62.06011368630829 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.EqualityOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 1.2083746096316694 < 27.487423236687647. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2747.9779582669207 (T) = (0 -1.215627445558379) / Math.Sqrt((0.029569196696752655 / (299)) + (4.6810222499750186E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.958039550745038 = (28.970791951533435 - 1.215627445558379) / 28.970791951533435 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.MultiplyByScalarBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.104755991444636 < 38.747384349797144. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1934.0891917910074 (T) = (0 -0.14528098988346205) / Math.Sqrt((0.03767664428945607 / (299)) + (0.004693446985992887 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9964273332569654 = (40.66457924370024 - 0.14528098988346205) / 40.66457924370024 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.AddOperatorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.9901121195366976 < 44.0113260287937. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 6439.4943334265445 (T) = (0 -0.97989341966415) / Math.Sqrt((0.013498969649628254 / (299)) + (7.011654897895231E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9788964525725413 = (46.43263996408354 - 0.97989341966415) / 46.43263996408354 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.10453954880839161 < 21.801588556799466. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1143.3060361672508 (T) = (0 -0.16563504669803314) / Math.Sqrt((0.004177141868691129 / (299)) + (0.005719851893358994 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9927660312710559 = (22.896843061444756 - 0.16563504669803314) / 22.896843061444756 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateRotationWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.604375537555866 < 58.875957191053764. IsChangePoint: Marked as a change because one of 3/8/2023 9:36:36 PM, 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 379.4769570709339 (T) = (0 -12.767245184245992) / Math.Sqrt((3.036912563812259 / (299)) + (0.09776827496696146 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7933080538101368 = (61.76943717254592 - 12.767245184245992) / 61.76943717254592 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.LerpBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.8983888341824489 < 66.85791681964992. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 4819.3702807619 (T) = (0 -0.9187729733091968) / Math.Sqrt((0.04830356021478344 / (299)) + (0.0006927286901907651 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.986945534126909 = (70.37997435062134 - 0.9187729733091968) / 70.37997435062134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateScaleFromVectorWithCenterBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.0831399725515052 < 30.041961306684136. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1223.140210274106 (T) = (0 -0.15711102058326182) / Math.Sqrt((0.0256843625821499 / (299)) + (0.00865940292173648 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9950369438980857 = (31.656104093335532 - 0.15711102058326182) / 31.656104093335532 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.InvertBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.7608533680085522 < 34.89965477580851. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1309.5482922486115 (T) = (0 -0.7653523322978165) / Math.Sqrt((0.22374668003266265 / (299)) + (4.3456678134350606E-05 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.9791245308568626 = (36.662760824679026 - 0.7653523322978165) / 36.662760824679026 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Numerics.Tests.Perf_Matrix3x2.CreateTranslationFromVectorBenchmark ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 0.08505930275503357 < 20.81935211951461. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 958.9088997737854 (T) = (0 -0.13312567358384464) / Math.Sqrt((0.014496460288464939 / (299)) + (0.007015598780004094 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9939265691789904 = (21.91935291718912 - 0.13312567358384464) / 21.91935291718912 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Benchstone.MDBenchI.MDAddArray2

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Test - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Benchstone.MDBenchI.MDAddArray2.Test.html>) 29.89 ms 11.99 ms 0.40 0.03 True

graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Benchstone.MDBenchI.MDAddArray2*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Benchstone.MDBenchI.MDAddArray2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Benchstone.MDBenchI.MDAddArray2*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Benchstone.MDBenchI.MDAddArray2* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Benchstone.MDBenchI.MDAddArray2.Test ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 11.985404226041668 < 28.37199168169643. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 134.32523809217898 (T) = (0 -11597396.702663308) / Math.Sqrt((178252158417.0957 / (299)) + (269868339701.81128 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6122659894451722 = (29910702.664612837 - 11597396.702663308) / 29910702.664612837 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in Microsoft.Extensions.Logging.Formatting

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[TwoArguments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.Formatting.TwoArguments.html>) 252.23 ns 130.96 ns 0.52 0.08 True
[NoArguments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/Microsoft.Extensions.Logging.Formatting.NoArguments.html>) 40.44 ns 23.04 ns 0.57 0.02 True

graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Logging.Formatting*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Logging.Formatting* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'Microsoft.Extensions.Logging.Formatting*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter Microsoft.Extensions.Logging.Formatting* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### Microsoft.Extensions.Logging.Formatting.TwoArguments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 130.9582342916735 < 238.35329314867758. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 231.01706857655057 (T) = (0 -130.35404065846703) / Math.Sqrt((35.2041679511011 / (299)) + (2.341288266029814 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.48116029358942075 = (251.24145096811944 - 130.35404065846703) / 251.24145096811944 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### Microsoft.Extensions.Logging.Formatting.NoArguments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.0413573685964 < 38.447925162868124. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 153.53450130960965 (T) = (0 -23.097518848049944) / Math.Sqrt((2.05072420884388 / (299)) + (0.09843508672956426 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4350517530355201 = (40.88430926576918 - 23.097518848049944) / 40.88430926576918 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.TryGetValueTrue<String, String>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).IDictionary(Size%3a%20512).html>) 20.62 μs 9.54 μs 0.46 0.06 True
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).SortedList(Size%3a%20512).html>) 503.31 μs 195.88 μs 0.39 0.11 True
[FrozenDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).FrozenDictionary(Size%3a%20512).html>) 23.71 μs 8.80 μs 0.37 0.02 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).ImmutableSortedDictionary(Size%3a%20512).html>) 509.88 μs 197.05 μs 0.39 0.06 True
[FrozenDictionaryOptimized - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).FrozenDictionaryOptimized(Size%3a%20512).html>) 20.56 μs 6.12 μs 0.30 0.01 True
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).SortedDictionary(Size%3a%20512).html>) 525.89 μs 214.80 μs 0.41 0.10 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).ImmutableDictionary(Size%3a%20512).html>) 77.35 μs 32.79 μs 0.42 0.05 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).ConcurrentDictionary(Size%3a%20512).html>) 16.71 μs 8.53 μs 0.51 0.02 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.TryGetValueTrue(String%2c%20String).Dictionary(Size%3a%20512).html>) 19.95 μs 7.95 μs 0.40 0.03 True

graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.TryGetValueTrue<String, String>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.TryGetValueTrue<String, String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.TryGetValueTrue<String, String>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.TryGetValueTrue<String, String>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.TryGetValueTrue<String, String>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 9.540806867050273 < 19.814940032889655. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 193.3564381886153 (T) = (0 -9329.904421273677) / Math.Sqrt((421624.89213713363 / (299)) + (26145.65080010115 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5378363993098088 = (20187.44965492842 - 9329.904421273677) / 20187.44965492842 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 195.8804333112875 < 471.91242096586683. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 124.08885519642385 (T) = (0 -201461.39007584815) / Math.Sqrt((229647948.17179832 / (299)) + (78856010.9699273 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6018954001491584 = (506051.399936926 - 201461.39007584815) / 506051.399936926 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.FrozenDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.800709380938809 < 22.45224868617596. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 294.618527092987 (T) = (0 -8804.131611019176) / Math.Sqrt((275772.4285700671 / (220)) + (15916.907918764136 / (15))) is greater than 1.970197598972363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (220) + (15) - 2, .975) and 0.6168523672964309 = (22978.43144402433 - 8804.131611019176) / 22978.43144402433 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 197.04552687499998 < 493.6621921033653. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 185.66041152685833 (T) = (0 -201385.10747757833) / Math.Sqrt((100706220.78432938 / (299)) + (41789009.25165746 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6196484366243122 = (529470.9602091541 - 201385.10747757833) / 529470.9602091541 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.FrozenDictionaryOptimized(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.120154301969222 < 19.62310322971589. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 689.167114304749 (T) = (0 -6109.428051417482) / Math.Sqrt((55597.53801160865 / (220)) + (2783.737812497179 / (15))) is greater than 1.970197598972363 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (220) + (15) - 2, .975) and 0.70252390458601 = (20537.542833198564 - 6109.428051417482) / 20537.542833198564 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 214.80413341666664 < 502.545164176801. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 165.2332530079959 (T) = (0 -216237.15291000146) / Math.Sqrt((294379014.7500338 / (299)) + (43392017.25033222 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6007420373952984 = (541597.5964494266 - 216237.15291000146) / 541597.5964494266 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 32.79142277327936 < 71.84161985419149. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 437.8865825712366 (T) = (0 -32848.476995980964) / Math.Sqrt((1941642.498210547 / (299)) + (44837.0110627589 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5648632074781537 = (75490.00121457619 - 32848.476995980964) / 75490.00121457619 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.529748247642365 < 16.00238807168347. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 169.31723575029605 (T) = (0 -8781.53873613467) / Math.Sqrt((346420.37340343057 / (299)) + (18768.427402157366 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.4862589312879611 = (17093.316596530225 - 8781.53873613467) / 17093.316596530225 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.TryGetValueTrue<String, String>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.946815490965891 < 18.9447920736355. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 276.0531219214609 (T) = (0 -7920.5905759080915) / Math.Sqrt((390158.2722392292 / (299)) + (5397.404180707875 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5871203324194183 = (19183.774832802177 - 7920.5905759080915) / 19183.774832802177 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Buffers.Tests.ReadOnlySequenceTests<Char>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[IterateForEachArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateForEachArray.html>) 44.00 ns 12.70 ns 0.29 0.03 True
[IterateGetPositionMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionMemory.html>) 190.98 ns 28.48 ns 0.15 0.02 True
[SliceSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).SliceSingleSegment.html>) 19.35 ns 6.06 ns 0.31 0.03 True
[IterateTryGetArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateTryGetArray.html>) 33.47 ns 5.85 ns 0.17 0.00 True
[IterateGetPositionTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionTenSegments.html>) 193.38 ns 57.08 ns 0.30 0.01 True
[FirstArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstArray.html>) 13.62 ns 7.48 ns 0.55 0.02 True
[IterateGetPositionArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionArray.html>) 170.81 ns 15.98 ns 0.09 0.01 True
[IterateTryGetTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateTryGetTenSegments.html>) 219.27 ns 40.28 ns 0.18 0.02 True
[IterateGetPositionSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateGetPositionSingleSegment.html>) 172.98 ns 22.20 ns 0.13 0.00 True
[IterateForEachSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateForEachSingleSegment.html>) 47.04 ns 19.31 ns 0.41 0.02 True
[FirstSpanArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstSpanArray.html>) 21.32 ns 3.74 ns 0.18 0.01 True
[FirstTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstTenSegments.html>) 10.91 ns 2.85 ns 0.26 0.00 True
[SliceTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).SliceTenSegments.html>) 44.15 ns 18.68 ns 0.42 0.02 True
[FirstMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstMemory.html>) 15.14 ns 8.12 ns 0.54 0.01 True
[FirstSpanTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstSpanTenSegments.html>) 17.61 ns 4.92 ns 0.28 0.00 True
[FirstSpanSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstSpanSingleSegment.html>) 17.81 ns 5.13 ns 0.29 0.00 True
[FirstSpanMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstSpanMemory.html>) 22.85 ns 4.52 ns 0.20 0.00 True
[IterateTryGetMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateTryGetMemory.html>) 53.23 ns 16.05 ns 0.30 0.04 True
[IterateForEachMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateForEachMemory.html>) 61.94 ns 22.46 ns 0.36 0.02 True
[IterateForEachTenSegments - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateForEachTenSegments.html>) 242.52 ns 47.44 ns 0.20 0.00 True
[SliceArray - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).SliceArray.html>) 19.06 ns 5.61 ns 0.29 0.03 True
[IterateTryGetSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).IterateTryGetSingleSegment.html>) 35.93 ns 12.15 ns 0.34 0.01 True
[SliceMemory - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).SliceMemory.html>) 20.95 ns 6.52 ns 0.31 0.02 True
[FirstSingleSegment - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Buffers.Tests.ReadOnlySequenceTests(Char).FirstSingleSegment.html>) 11.17 ns 3.25 ns 0.29 0.01 True

graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests<Char>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Buffers.Tests.ReadOnlySequenceTests<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Buffers.Tests.ReadOnlySequenceTests<Char>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Buffers.Tests.ReadOnlySequenceTests<Char>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.695660408536577 < 41.776108558960544. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 78.80197635429614 (T) = (0 -13.073708157262185) / Math.Sqrt((0.14965174742533527 / (299)) + (2.296849946248126 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.702600214998097 = (43.960045758535195 - 13.073708157262185) / 43.960045758535195 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 28.479397838469463 < 181.3839100052586. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 657.1734555842082 (T) = (0 -29.119590086593224) / Math.Sqrt((1.2286455711700226 / (299)) + (0.850315829101846 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8476682512739339 = (191.15903500168022 - 29.119590086593224) / 191.15903500168022 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.056340140474333 < 18.38730499661623. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 456.0677891880399 (T) = (0 -6.046045684349405) / Math.Sqrt((0.16186655670520345 / (299)) + (0.0048538879629207035 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.689293597893243 = (19.459031559549317 - 6.046045684349405) / 19.459031559549317 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.8510210098982 < 31.77346456818997. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1144.748528614688 (T) = (0 -5.808109648609794) / Math.Sqrt((0.02182473034791842 / (299)) + (0.007579927157328549 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8257778054087319 = (33.33736934169519 - 5.808109648609794) / 33.33736934169519 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 57.0828125865149 < 183.78900208370743. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 417.28773546500656 (T) = (0 -57.37427171325676) / Math.Sqrt((8.541843781159315 / (299)) + (1.1861239335136224 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7046858370487844 = (194.2821540961268 - 57.37427171325676) / 194.2821540961268 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 7.475883337118007 < 12.94590658128214. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 645.8644825049764 (T) = (0 -7.473082780517293) / Math.Sqrt((0.02698734163924747 / (299)) + (1.592171434477651E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.45232338004753675 = (13.645064456404832 - 7.473082780517293) / 13.645064456404832 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.98199414871698 < 161.77259575036155. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2029.2922324632739 (T) = (0 -15.775479208153957) / Math.Sqrt((1.2773807387451888 / (299)) + (0.02381255378272478 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.9078076554542535 = (171.11485000065323 - 15.775479208153957) / 171.11485000065323 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 40.284695194219736 < 207.78606949451517. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 435.0936349282799 (T) = (0 -39.20921609825192) / Math.Sqrt((1.799882353731764 / (299)) + (2.2947486932942884 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.8206070849350816 = (218.56613503416756 - 39.20921609825192) / 218.56613503416756 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateGetPositionSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.19829968235955 < 164.36359570034074. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1885.4250489552244 (T) = (0 -22.28265821488937) / Math.Sqrt((1.4169437639937346 / (299)) + (0.025066027934672327 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8713729222896298 = (173.23458335159629 - 22.28265821488937) / 173.23458335159629 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 19.306307171756796 < 44.72303459586113. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 314.8168382181813 (T) = (0 -19.479210510899374) / Math.Sqrt((0.22813327666348968 / (299)) + (0.10156058677356969 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5838159763054362 = (46.80432068962625 - 19.479210510899374) / 46.80432068962625 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.7420337461313053 < 19.960213556718926. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 2055.146747417422 (T) = (0 -3.7438126247185566) / Math.Sqrt((0.0194623879936287 / (299)) + (8.796164139441533E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8221921524751358 = (21.055384657277475 - 3.7438126247185566) / 21.055384657277475 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.8515143493263135 < 10.371038545773452. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 649.4871431934016 (T) = (0 -2.813783228112619) / Math.Sqrt((0.000861887565195865 / (299)) + (0.0022982526954317198 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7425270002456298 = (10.928459414373448 - 2.813783228112619) / 10.928459414373448 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 18.67795536638101 < 42.2137432175768. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 247.7650639899254 (T) = (0 -18.875073625514762) / Math.Sqrt((0.3061797817972051 / (299)) + (0.1457520529643785 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5763449229757873 = (44.552926777355765 - 18.875073625514762) / 44.552926777355765 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 8.118235496047653 < 14.36641083362702. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 919.3464810185762 (T) = (0 -8.117660923576388) / Math.Sqrt((0.0166623416477018 / (299)) + (3.105059958755685E-05 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.46265309258147147 = (15.106927780741293 - 8.117660923576388) / 15.106927780741293 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.923080411527088 < 16.757474177377787. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1317.7575819137146 (T) = (0 -4.920577299989256) / Math.Sqrt((0.0034134543319722104 / (299)) + (0.001216886441837826 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7203779059868198 = (17.59724072360792 - 4.920577299989256) / 17.59724072360792 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.12798427956365 < 16.921462564853723. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 965.5825049333896 (T) = (0 -5.070001955058747) / Math.Sqrt((0.0015763910831807619 / (299)) + (0.002541432280365257 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7156882102979423 = (17.83254208477184 - 5.070001955058747) / 17.83254208477184 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSpanMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 4.522967542348705 < 21.671330868731605. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 967.6241855755991 (T) = (0 -4.488663919203456) / Math.Sqrt((0.08173003238823592 / (299)) + (0.0010835571224821572 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8002964161885137 = (22.47663178363694 - 4.488663919203456) / 22.47663178363694 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 16.051668702458553 < 51.83100380581057. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 354.1327970118542 (T) = (0 -16.01911889951652) / Math.Sqrt((0.7100111845893298 / (299)) + (0.13636614727371607 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7030138731653873 = (53.9389468129511 - 16.01911889951652) / 53.9389468129511 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 22.464079419126865 < 58.87246749411598. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 588.4905728576626 (T) = (0 -22.504486051504045) / Math.Sqrt((0.9828227240422249 / (299)) + (0.019286082687109192 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6387697103670269 = (62.29955432134347 - 22.504486051504045) / 62.29955432134347 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateForEachTenSegments ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 47.4352105592567 < 231.94791620914017. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 980.9822521070988 (T) = (0 -47.02286366352781) / Math.Sqrt((2.5594195904476584 / (299)) + (0.4747972078631973 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.8070787120015032 = (243.74118663303855 - 47.02286366352781) / 243.74118663303855 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceArray ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 5.607663840190617 < 18.137028933058385. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 370.6817747590427 (T) = (0 -5.48423972882431) / Math.Sqrt((0.027402890867738363 / (299)) + (0.019061453430668656 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7138621459555677 = (19.166425033622787 - 5.48423972882431) / 19.166425033622787 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.IterateTryGetSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 12.151469208321418 < 34.22648602958683. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 1367.1099448097852 (T) = (0 -12.139519291135274) / Math.Sqrt((0.03038496565486485 / (299)) + (0.0030575331239545106 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6630996567438787 = (36.032968010087366 - 12.139519291135274) / 36.032968010087366 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.SliceMemory ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 6.52385531567551 < 20.01297854175429. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 413.6594380788728 (T) = (0 -6.63386074631268) / Math.Sqrt((0.16600439185815177 / (299)) + (0.009547092369826678 / (14))) is greater than 1.9676211333067681 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (14) - 2, .975) and 0.6868378350251841 = (21.18346814611583 - 6.63386074631268) / 21.18346814611583 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Buffers.Tests.ReadOnlySequenceTests<Char>.FirstSingleSegment ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.2466974829147555 < 10.597430187461025. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 723.0048630709447 (T) = (0 -3.3015620262975927) / Math.Sqrt((0.0006875260260115711 / (299)) + (0.0017310375594637836 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7037756758520872 = (11.14547914251982 - 3.3015620262975927) / 11.14547914251982 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)
performanceautofiler[bot] commented 1 year ago

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Threading.Tests.Perf_Timer

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[ShortScheduleAndDispose - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Threading.Tests.Perf_Timer.ShortScheduleAndDispose.html>) 495.15 ns 135.11 ns 0.27 0.03 True
[ScheduleManyThenDisposeMany - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Threading.Tests.Perf_Timer.ScheduleManyThenDisposeMany.html>) 839.08 ms 413.75 ms 0.49 0.03 True
[LongScheduleAndDispose - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Threading.Tests.Perf_Timer.LongScheduleAndDispose.html>) 479.73 ns 132.95 ns 0.28 0.02 True
[ShortScheduleAndDisposeWithFiringTimers - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Threading.Tests.Perf_Timer.ShortScheduleAndDisposeWithFiringTimers.html>) 1.00 μs 154.40 ns 0.15 0.66 False

graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Threading.Tests.Perf_Timer*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Threading.Tests.Perf_Timer* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Threading.Tests.Perf_Timer*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Threading.Tests.Perf_Timer* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Threading.Tests.Perf_Timer.ShortScheduleAndDispose ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 135.10817644301127 < 470.8871436700079. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 619.0284520412564 (T) = (0 -135.301460380493) / Math.Sqrt((51.4508623247696 / (299)) + (2.6606447167419263 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7300650205614755 = (501.23722631992865 - 135.301460380493) / 501.23722631992865 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Threading.Tests.Perf_Timer.ScheduleManyThenDisposeMany ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 413.75047989999996 < 798.8526647416667. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 70.90918743124648 (T) = (0 -408163523.88719285) / Math.Sqrt((10883790687349432 / (299)) + (42245364052176.984 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.521059339766131 = (852221491.6726524 - 408163523.88719285) / 852221491.6726524 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Threading.Tests.Perf_Timer.LongScheduleAndDispose ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 132.94686442703625 < 454.3628207073484. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 656.3002478886974 (T) = (0 -133.3540195282532) / Math.Sqrt((52.889738759417035 / (299)) + (1.558783086186269 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.7228350574399868 = (481.1359557112051 - 133.3540195282532) / 481.1359557112051 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Threading.Tests.Perf_Timer.ShortScheduleAndDisposeWithFiringTimers ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 154.4028452248941 < 655.7706890987658. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 53.14478871108141 (T) = (0 -152.4015296082272) / Math.Sqrt((31786.577907741234 / (299)) + (2.5450613122929906 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.782530902194373 = (700.796256323476 - 152.4015296082272) / 700.796256323476 is greater than 0.05. IsChangeEdgeDetector: Marked not as a regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.Tests.Perf_SortedSet

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[Min - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_SortedSet.Min.html>) 28.42 ns 13.85 ns 0.49 0.45 True
[EnumerateViewBetween - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_SortedSet.EnumerateViewBetween.html>) 3.84 μs 2.14 μs 0.56 0.01 True
[Max - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.Tests.Perf_SortedSet.Max.html>) 37.78 ns 15.66 ns 0.41 0.06 True

graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Tests.Perf_SortedSet*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Tests.Perf_SortedSet* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.Tests.Perf_SortedSet*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.Tests.Perf_SortedSet* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.Tests.Perf_SortedSet.Min ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 13.851534671988288 < 26.820564796749114. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 37.910702598992394 (T) = (0 -11.5591538994701) / Math.Sqrt((1.761588857328471 / (299)) + (2.6133521685332437 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.5819238837781109 = (27.64844355121021 - 11.5591538994701) / 27.64844355121021 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_SortedSet.EnumerateViewBetween ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.1432080723682914 < 3.6582690529067134. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 197.98852573020145 (T) = (0 -2167.6366377616746) / Math.Sqrt((3368.1790893933 / (299)) + (865.8394489891446 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.43138038841963694 = (3812.103194501448 - 2167.6366377616746) / 3812.103194501448 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.Tests.Perf_SortedSet.Max ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 15.655149672591207 < 35.813852113787455. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 288.1402403059581 (T) = (0 -15.076816813482234) / Math.Sqrt((0.6578384176602133 / (299)) + (0.0666874439634548 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6090726566867767 = (38.566800382142134 - 15.076816813482234) / 38.566800382142134 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)

Run Information

Name Value
Architecture x64
OS ubuntu 18.04
Queue TigerUbuntu
Baseline 0b5f137ab0eea82f59d22da94a0b21f0bc598f16
Compare a23e797b61acfa9ae5e0575240f464cf62f2d83b
Diff Diff
Configs CompilationMode:tiered, LLVM:false, MonoAOT:true, MonoInterpreter:false, RunKind:micro_mono

Improvements in System.Collections.ContainsKeyTrue<Int32, Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
[SortedList - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).SortedList(Size%3a%20512).html>) 38.50 μs 23.27 μs 0.60 0.36 True
[Dictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).Dictionary(Size%3a%20512).html>) 6.98 μs 2.21 μs 0.32 0.06 True
[ImmutableSortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).ImmutableSortedDictionary(Size%3a%20512).html>) 39.35 μs 24.49 μs 0.62 0.05 True
[ImmutableDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).ImmutableDictionary(Size%3a%20512).html>) 25.95 μs 17.50 μs 0.67 0.01 True
[SortedDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).SortedDictionary(Size%3a%20512).html>) 58.49 μs 34.37 μs 0.59 0.01 True
[IDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).IDictionary(Size%3a%20512).html>) 7.59 μs 3.67 μs 0.48 0.39 True
[ConcurrentDictionary - Duration of single invocation](<https://pvscmdupload.z22.web.core.windows.net/reports/allTestHistory/refs/heads/main_x64_ubuntu 18.04_LLVM=false_MonoAOT=true_MonoInterpreter=false_RunKind=micro_mono/System.Collections.ContainsKeyTrue(Int32%2c%20Int32).ConcurrentDictionary(Size%3a%20512).html>) 5.88 μs 2.21 μs 0.38 0.18 True

graph graph graph graph graph graph graph Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

Payloads

Baseline Compare

Repro Steps #### Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order)) - Libraries build extracted to `runtime/artifacts` or build instructions: [Libraries README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/README.md) args: `-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0` - CoreCLR product build extracted to `runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release`, build instructions: [CoreCLR README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/coreclr/README.md) args: `-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0` - AOT MONO build extracted to `runtime/artifacts/bin/mono/$RunOS.$RunArch.Release`, build instructions: [MONO README](https://github.com/dotnet/runtime/blob/main/docs/workflow/building/mono/README.md) args: `-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false` - Dotnet SDK installed for dotnet commands - Running commands from the runtime folder Linux ```cmd # Set $RunDir to the runtime directory RunDir=`pwd` # Set the OS, arch, and OSId RunOS='linux' RunOSId='linux' RunArch='x64' # Create aot directory mkdir -p $RunDir/artifacts/bin/aot/sgen mkdir -p $RunDir/artifacts/bin/aot/pack cp -r $RunDir/artifacts/obj/mono/$RunOS.$RunArch.Release/mono/* $RunDir/artifacts/bin/aot/sgen cp -r $RunDir/artifacts/bin/microsoft.netcore.app.runtime.$RunOS-$RunArch/Release/* $RunDir/artifacts/bin/aot/pack # Create Core Root $RunDir/src/tests/build.sh release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir/performance # One line run: python3 $RunDir/performance/scripts/benchmarks_ci.py --csproj $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsKeyTrue<Int32, Int32>*' --bdn-artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --packages $RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir/performance/artifacts/packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir/performance/src/benchmarks/micro/MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsKeyTrue<Int32, Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir/artifacts/bin/aot/sgen/mini/mono-sgen --customruntimepack $RunDir/artifacts/bin/aot/pack --aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir/artifacts/BenchmarkDotNet.Artifacts --packages $RunDir/performance/artifacts/packages --buildTimeout 1200 ``` Windows ```cmd # Set $RunDir to the runtime directory $RunDir="FullPathHere" # Set the OS, arch, and OSId RunOS='windows' RunOSId='win' RunArch='x64' # Create aot directory mkdir $RunDir\artifacts\bin\aot\sgen mkdir $RunDir\artifacts\bin\aot\pack xcopy $RunDir\artifacts\obj\mono\$RunOS.$RunArch.Release\mono $RunDir\artifacts\bin\aot\sgen\ /e /y xcopy $RunDir\artifacts\bin\microsoft.netcore.app.runtime.$RunOSId-$RunArch\Release $RunDir\artifacts\bin\aot\pack\ /e /y # Create Core Root $RunDir\src\tests\build.cmd release $RunArch generatelayoutonly /p:LibrariesConfiguration=Release # Clone performance git clone --branch main --depth 1 --quiet https://github.com/dotnet/performance.git $RunDir\performance # One line run: python3 $RunDir\performance\scripts\benchmarks_ci.py --csproj $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --incremental no --architecture $RunArch -f net8.0 --filter 'System.Collections.ContainsKeyTrue<Int32, Int32>*' --bdn-artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --bdn-arguments="--anyCategories Libraries Runtime --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack --aotcompilermode llvm --logBuildOutput --generateBinLog" # Individual Commands: # Restore dotnet restore $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --packages $RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Build dotnet build $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore /p:NuGetPackageRoot=$RunDir\performance\artifacts\packages /p:UseSharedCompilation=false /p:BuildInParallel=false /m:1 # Run dotnet run --project $RunDir\performance\src\benchmarks\micro\MicroBenchmarks.csproj --configuration Release --framework net8.0 --no-restore --no-build -- --filter System.Collections.ContainsKeyTrue<Int32, Int32>* --anyCategories Libraries Runtime " --category-exclusion-filter NoAOT NoWASM --runtimes monoaotllvm --aotcompilerpath $RunDir\artifacts\bin\aot\sgen\mini\mono-sgen.exe --customruntimepack $RunDir\artifacts\bin\aot\pack -aotcompilermode llvm --logBuildOutput --generateBinLog " --artifacts $RunDir\artifacts\BenchmarkDotNet.Artifacts --packages $RunDir\performance\artifacts\packages --buildTimeout 1200 ```
### Payloads [Baseline]() [Compare]() ### Histogram #### System.Collections.ContainsKeyTrue<Int32, Int32>.SortedList(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 23.27338956475978 < 38.526268585269136. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 115.58018392377302 (T) = (0 -23873.114708521403) / Math.Sqrt((1516739.824333433 / (299)) + (190519.73635505978 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3922660257715978 = (39282.178915258846 - 23873.114708521403) / 39282.178915258846 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.Dictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.208349523901913 < 6.627078416452437. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 533.4645987624087 (T) = (0 -2241.45344412902) / Math.Sqrt((17741.92746053152 / (299)) + (351.03734285706014 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.68403221193793 = (7093.93023218145 - 2241.45344412902) / 7093.93023218145 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableSortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 24.492403009620382 < 37.35456987169518. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 83.71684567565482 (T) = (0 -23600.435711271693) / Math.Sqrt((594286.3011290359 / (299)) + (449772.6172298268 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.38810951770843477 = (38569.7055180311 - 23600.435711271693) / 38569.7055180311 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.ImmutableDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 17.49790541562929 < 24.31180884623909. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 257.1398165107548 (T) = (0 -17590.174453892785) / Math.Sqrt((76564.49723865943 / (299)) + (10774.840955994781 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.3133359316858269 = (25616.855847836003 - 17590.174453892785) / 25616.855847836003 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.SortedDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 34.374662737573104 < 55.52161733508154. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 156.28477803186746 (T) = (0 -34052.50953311746) / Math.Sqrt((633110.4434135627 / (299)) + (302297.364382348 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.40649640685864435 = (57375.405855389865 - 34052.50953311746) / 57375.405855389865 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.IDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 3.6717087969525166 < 7.205309333487798. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 47.32251522474653 (T) = (0 -3866.473962100822) / Math.Sqrt((127693.64160742781 / (299)) + (78178.3748155476 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.47891637638745943 = (7420.064240928431 - 3866.473962100822) / 7420.064240928431 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms #### System.Collections.ContainsKeyTrue<Int32, Int32>.ConcurrentDictionary(Size: 512) ```log ``` ### Description of detection logic ``` IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsRegressionBase: Marked as not a regression because the compare was not 5% greater than the baseline, or the value was too small. IsImprovementBase: Marked as improvement because the compare was 5% less than the baseline, and the value was not too small. IsImprovementCheck: Marked as improvement because the three check build points were 0.05 less than the baseline. IsImprovementWindowed: Marked as improvement because 2.2101699472547027 < 5.590303128096227. IsChangePoint: Marked as a change because one of 5/11/2023 4:41:38 AM, 5/15/2023 6:46:12 PM falls between 5/7/2023 5:11:33 AM and 5/15/2023 6:46:12 PM. IsImprovementStdDev: Marked as improvement because 176.68106379249102 (T) = (0 -2248.9173650243015) / Math.Sqrt((18627.858654293395 / (299)) + (5736.530623236306 / (15))) is greater than 1.9675964973877862 = MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, (299) + (15) - 2, .975) and 0.6236060059694365 = (5974.902364785575 - 2248.9173650243015) / 5974.902364785575 is greater than 0.05. IsChangeEdgeDetector: Marked as regression because Edge Detector said so. ``` ### JIT Disasms ### Docs [Profiling workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-dotnet-runtime.md) [Benchmarking workflow for dotnet/runtime repository](https://github.com/dotnet/performance/blob/master/docs/benchmarking-workflow-dotnet-runtime.md)