-
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
[mono][Perf] Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages
regressions on 3/5/2024 8:17:11 PM
#106462
Comments
Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False)
regressions on 3/5/2024 8:17:11 PM
Tagging subscribers to this area: @dotnet/area-extensions-logging |
Add @noahfalk if he can have any thoughts around this one. Looking at the commits diff, nothing really changed in the logging code and even the test is implementing its own logger. Seeing some change related to Event Source though. Or maybe jit changes affect that? @jkotas is it possible the change can affect that? @jakobbotsch @amanasifkhalid @AndyAyersMS @EgorBo does the jit changes can affect the regressed scenario? Changing the area label as it is more about the event source and not the logger. CC @davmason |
Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti |
Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False)
regressions on 3/5/2024 8:17:11 PMMicrosoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages
regressions on 3/5/2024 8:17:11 PM
This is Mono-specific regression and there are no changes in Mono in this change.
Changes in CoreCLR JIT cannot possibly introduce Mono-specific regression. |
I'll try to reproduce it locally and try bisecting the range to investigate the root cause. |
@tommcdon Note, this issue is only about I was not able to reproduce it locally, possibly a BDN change could have triggered this change as well, the dotnet/performance range of changes during this period is dotnet/performance@5e6f529...1839430. There are some Mono specific fixes in that range but seem to be limited to MonoAOT whereas this regression is affecting all Mono configs: AOT, JIT, Interpreter. @LoopedBard3 do you see something suspicious in this range? Edit. WASM doesn't seem to be affected. |
After looking into the memory randomization changes, it seems like the tag was added to the EventSourceLogger.NestedScopes_TwoMessages test and is likely the cause of the result time change. Benchmark source: https://github.com/dotnet/performance/blob/main/src/benchmarks/micro/libraries/Microsoft.Extensions.Logging/EventSourceBenchmark.cs#L27-#L39; PR: dotnet/performance#3973. |
Thank you @LoopedBard3 for investigation. In that case, I think we can probably close this issue as a "new behavior", right? |
That makes sense to me, especially if there is nothing else obvious for the change. |
Run Information
Regressions in System.Reflection.Attributes
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order))
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false
Linux
Windows
Payloads
Baseline
Compare
System.Reflection.Attributes.IsDefinedClassHit
ETL Files
Histogram
JIT Disasms
System.Reflection.Attributes.IsDefinedMethodOverrideHitInherit
ETL Files
Histogram
JIT Disasms
System.Reflection.Attributes.IsDefinedClassHitInherit
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
Repro Steps
Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order))
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false
Linux
Windows
Payloads
Baseline
Compare
System.Memory.Span<Int32>.IndexOfAnyFourValues(Size: 33)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in Microsoft.Extensions.Logging.EventSourceLogger
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order))
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false
Linux
Windows
Payloads
Baseline
Compare
Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: False)
ETL Files
Histogram
JIT Disasms
Microsoft.Extensions.Logging.EventSourceLogger.NestedScopes_TwoMessages(HasSubscribers: True, Json: True)
ETL Files
Histogram
JIT Disasms
Docs
Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository
Run Information
Regressions in System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Repro Steps
Prerequisites (Files either built locally (with build.(sh/cmd) or downloaded from payload above (if same system setup) (in this order))
runtime/artifacts
or build instructions: Libraries README args:-subset libs+libs.tests -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/coreclr/$RunOS.$RunArch.Release
, build instructions: CoreCLR README args:-subset clr+libs -rc release -configuration Release -arch $RunArch -framework net8.0
runtime/artifacts/bin/mono/$RunOS.$RunArch.Release
, build instructions: MONO README args:-arch $RunArch -os $RunOS -s mono+libs+host+packs -c Release /p:CrossBuild=false /p:MonoLLVMUseCxx11Abi=false
Linux
Windows
Payloads
Baseline
Compare
System.Buffers.Text.Tests.Base64EncodeDecodeInPlaceTests.Base64EncodeInPlace(NumberOfBytes: 200000000)
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: