-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Perf] Linux/x64: 49 Regressions on 3/7/2024 2:55:42 PM #30899
Comments
Run Information
Regressions in System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>*' PayloadsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.Negate(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.SumOfMagnitudes(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.Add_Scalar(BufferLength: 3079)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.SumOfSquares(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.Divide_Scalar(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.AddMultiply_ScalarAddend(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.Add_Scalar(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_NumberTensorPrimitives<Double>.AddMultiply_Vectors(BufferLength: 128)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>*' PayloadsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Exp(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Ieee754Remainder_ScalarDivisor(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sinh(BufferLength: 3079)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sinh(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Pow_ScalarBase(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sigmoid(BufferLength: 128)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Sigmoid(BufferLength: 3079)ETL FilesHistogramJIT DisasmsSystem.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Single>.Pow_ScalarExponent(BufferLength: 3079)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in Struct.GSeq
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'Struct.GSeq*' PayloadsStruct.GSeq.FilterSkipMapSumETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Memory.Span<Char>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Memory.Span<Char>*' PayloadsSystem.Memory.Span<Char>.SequenceEqual(Size: 512)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.CtorGivenSize<String>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorGivenSize<String>*' PayloadsSystem.Collections.CtorGivenSize<String>.List(Size: 512)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Collections.CtorFromCollectionNonGeneric<Int32>
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Collections.CtorFromCollectionNonGeneric<Int32>*' PayloadsSystem.Collections.CtorFromCollectionNonGeneric<Int32>.ArrayList(Size: 512)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in SciMark2.kernel
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'SciMark2.kernel*' PayloadsSciMark2.kernel.benchSORETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository Run Information
Regressions in System.Text.Json.Tests.Perf_Guids
ReproGeneral Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md git clone https://github.com/dotnet/performance.git
python3 .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Tests.Perf_Guids*' PayloadsSystem.Text.Json.Tests.Perf_Guids.WriteGuids(Formatted: False, SkipValidation: True)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository |
Likely dotnet/runtime#99273. The size of the regression makes me think it's probably because the old (broken) heuristic was not inserting traces at the "right" places, and the traces it's inserting for these scenarios aren't profitable. May investigate the worst ones. EDIT: Most of these regressions seem to be in the tensor code, which looks to be extremely generic code that wraps vector operators, and we also know as an existing thing that
|
the vector performance indeed regressed recently, the firefox impact is a bit higher than chrome's one. https://radekdoulik.github.io/WasmPerformanceMeasurements/?startDate=2024-02-27T23%3A01%3A28.000Z&endDate=2024-03-12T22%3A53%3A01.000Z&tasks=%2CVector&flavors=2%2C3%2C14%2C15 |
I'm hoping dotnet/runtime#99706 will claw back a lot of the vector perf if it lands, though it's impossible for me to measure locally (too much noise) |
Run Information
Regressions in System.Tests.Perf_String
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 10, i2: 1)
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.Substring_IntInt(s: "dzsdzsDDZSDZSDZSddsz", i1: 0, i2: 8)
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.Remove_Int(s: "dzsdzsDDZSDZSDZSddsz", i: 10)
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.TrimEnd(s: "Test ")
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.Trim_CharArr(s: " Test", c: [' ', ' '])
ETL Files
Histogram
JIT Disasms
System.Tests.Perf_String.TrimEnd_CharArr(s: "Test ", c: [' ', ' '])
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sigmoid(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Exp(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_Vectors(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDivisor(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Distance(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarBase(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sigmoid(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sin(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Distance(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_Vectors(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sin(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sinh(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDividend(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Sinh(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Log(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarExponent(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarBase(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Pow_ScalarExponent(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Ieee754Remainder_ScalarDividend(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Log(BufferLength: 128)
ETL Files
Histogram
JIT Disasms
System.Numerics.Tensors.Tests.Perf_FloatingPointTensorPrimitives<Double>.Exp(BufferLength: 3079)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: