-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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 in System.Threading.Tests.Perf_Lock #79408
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Probably caused by #79096. Is that expected @stephentoub? |
Tagging subscribers to this area: @dotnet/area-system-threading-tasks Issue DetailsRun Information
Regressions in System.Threading.Tests.Perf_Lock
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_Lock*' PayloadsHistogramSystem.Threading.Tests.Perf_Lock.ReaderWriterLockSlimPerf
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
@EgorBo, in this example:
but in the JIT-inlined case we get:
? using System;
public class C
{
private bool _disposed;
public void M1()
{
if (_disposed)
{
Throw();
}
}
public void M2()
{
ThrowIf(_disposed);
}
private static void ThrowIf(bool condition)
{
if (condition)
{
Throw();
}
}
private static void Throw() => throw new ObjectDisposedException(null);
}
|
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsRun Information
Regressions in System.Threading.Tests.Perf_Lock
Reprogit clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Threading.Tests.Perf_Lock*' PayloadsHistogramSystem.Threading.Tests.Perf_Lock.ReaderWriterLockSlimPerf
Description of detection logic
DocsProfiling workflow for dotnet/runtime repository
|
It seems like a missing oportunity for Forward Sub:
can we substitute bool to int? |
Currently there is an early out for it: runtime/src/coreclr/jit/forwardsub.cpp Lines 675 to 685 in 8d5f520
I'm not sure what issues were hit without the check, I think we can allow it by potentially inserting a cast (and there is already some logic to handle that, though only for normalize-on-store -- may need to be handled for normalize-on-load too). |
I opened #83969 for it. |
Run Information
Regressions in System.Threading.Tests.Perf_Lock
Test Report
Repro
Payloads
Baseline
Compare
Histogram
System.Threading.Tests.Perf_Lock.ReaderWriterLockSlimPerf
Description of detection logic
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
The text was updated successfully, but these errors were encountered: