-
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
Regressions from 3-opt #109613
Comments
I took a look at a few of the regressions, and many of them seem to stem from mis-rotated loops. Because the cost model currently doesn't differentiate between conditional and unconditional jumps, 3-opt tends to make naive decisions about moving loop exits. For example, from
If we can tweak the cost model such that it decides creating fallthrough for
I suspect making the move Since 3-opt currently optimizes for maximal layout score (only because it's cheaper to sum the weights of edges that now fall through, rather than sum the weights of edges that now don't fall through), I suspect we want to begin by penalizing scores for conditional jumps by some multiplier |
I would think the value of But I agree it is confusing to think in benefit terms, as I really think of this as a cost minimization problem.... |
Github missed linking the original PR: #103450 |
Run Information
Regressions in System.Collections.Tests.Perf_BitArray
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Collections.Tests.Perf_BitArray.BitArrayAnd(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayOr(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayXor(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.Tests.Perf_BitArray.BitArrayNot(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Span.IndexerBench
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Span.IndexerBench.CoveredIndex2(length: 1024)
ETL Files
Histogram
JIT Disasms
Span.IndexerBench.CoveredIndex3(length: 1024)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Globalization.Tests.StringSearch
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, None, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, None, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreCase, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, IgnoreNonSpace, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (en-US, None, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, IgnoreCase, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.IndexOf_Word_NotFound(Options: (, IgnoreCase, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (en-US, None, False))
ETL Files
Histogram
JIT Disasms
System.Globalization.Tests.StringSearch.LastIndexOf_Word_NotFound(Options: (, IgnoreCase, False))
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in PerfLabTests.LowLevelPerf
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
PerfLabTests.LowLevelPerf.ForeachOverList100Elements
ETL Files
Histogram
JIT Disasms
PerfLabTests.LowLevelPerf.InterfaceInterfaceMethodLongHierarchy
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.IterateForEach<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Collections.IterateForEach<Int32>.FrozenSet(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Collections.IterateForEach<Int32>.List(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Memory.Span<Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 512)
ETL Files
Histogram
JIT Disasms
System.Memory.Span<Int32>.IndexOfAnyFiveValues(Size: 512)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Tests.Perf_Char
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Tests.Perf_Char.Char_IsLower(input: "Good afternoon, Constable!")
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Struct.SpanWrapper
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Struct.SpanWrapper.WrapperSum
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
System.Collections.Tests.Perf_PriorityQueue<Int32, Int32>.Enumerate(Size: 100)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Span.Sorting
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Span.Sorting.BubbleSortSpan(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: