-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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: 24 Regressions on 1/20/2024 12:29:16 AM #97400
Comments
Tagging subscribers to this area: @dotnet/area-system-linq Issue DetailsRun Information
Regressions in System.Linq.Tests.Perf_Enumerable
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.Linq.Tests.Perf_Enumerable*' PayloadsSystem.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArrayETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereSelect(input: List)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereSelect(input: Array)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: Array)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.Select(input: Array)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.ElementAt(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.SelectToList(input: Range)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.Skip_One(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.Append(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.ToArray(input: ICollection)ETL FilesHistogramJIT DisasmsSystem.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable)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>.SortedList(Size: 512)ETL FilesHistogramJIT DisasmsDocsProfiling workflow for dotnet/runtime repository
|
Almost all of these have either recovered or significantly improved with the recent suite of LINQ changes. The only LINQ one I'm still interested in is the SelectToList(input: Range) one, which is still showing a consistent 20% hit. |
According to ADX data, |
Run Information
Regressions in System.Linq.Tests.Perf_Enumerable
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
System.Linq.Tests.Perf_Enumerable.EmptyTakeSelectToArray
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.AppendPrepend(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSelect(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSingleOrDefault_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.FirstWithPredicate_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Select(input: Array)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.ElementAt(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SelectToList(input: Range)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereLast_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereSingle_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.OrderByDescending(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Skip_One(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereFirst_LastElementMatches(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Append(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SkipHalfTakeHalf(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.WhereAny_LastElementMatches(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.SingleWithPredicate_LastElementMatches(input: List)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.ToArray(input: ICollection)
ETL Files
Histogram
JIT Disasms
System.Linq.Tests.Perf_Enumerable.Prepend(input: IEnumerable)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.CtorFromCollectionNonGeneric<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Payloads
Baseline
Compare
System.Collections.CtorFromCollectionNonGeneric<Int32>.SortedList(Size: 512)
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: