Open performanceautofiler[bot] opened 1 year ago
@radical @LoopedBard3 these results look weird. the times are now zero. is it some infrastructure issue?
just for the record, the runtime range is https://github.com/dotnet/runtime/compare/0224f86a886e0aaf72acb6a4f5573236ba929292...36481bfd079093fe7d29ef024b1fb801e6c787fe
@cincuranet Do you know if we have seen similar improvements anywhere else with the root cause determined?
@LoopedBard3 At the moment I can speak only about x64 and I haven't seen this change there.
Maybe it's related to https://github.com/dotnet/performance/pull/3115...
I found a log with this failure under the run here: https://dev.azure.com/dnceng/internal/_build/results?buildId=2218001&view=results (20230710.4). An error was hit causing the benchmark to fail its run:
[2023/07/10 13:41:04][INFO] // Job: Job-QXFDDW(PowerPlanMode=00000000-0000-0000-0000-000000000000, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2023/07/10 13:41:04][INFO] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
[2023/07/10 13:41:04][INFO] ---> System.NotSupportedException: JsonTypeInfo metadata for type 'MicroBenchmarks.Serializers.CollectionsOfPrimitives' was not provided by TypeInfoResolver of type '[]'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
[2023/07/10 13:41:04][INFO] at System.Text.Json.ThrowHelper.ThrowNotSupportedException_NoMetadataForType(Type , IJsonTypeInfoResolver )
[2023/07/10 13:41:04][INFO] at System.Text.Json.JsonSerializerOptions.GetTypeInfoInternal(Type , Boolean , Nullable`1 , Boolean , Boolean )
[2023/07/10 13:41:04][INFO] at System.Text.Json.JsonSerializerOptions.GetTypeInfoForRootType(Type , Boolean )
[2023/07/10 13:41:04][INFO] at System.Text.Json.JsonSerializer.GetTypeInfo(JsonSerializerOptions , Type )
[2023/07/10 13:41:04][INFO] at System.Text.Json.JsonSerializer.GetTypeInfo[CollectionsOfPrimitives](JsonSerializerOptions )
[2023/07/10 13:41:04][INFO] at System.Text.Json.JsonSerializer.Serialize[CollectionsOfPrimitives](Stream , CollectionsOfPrimitives , JsonSerializerOptions )
[2023/07/10 13:41:04][INFO] at MicroBenchmarks.Serializers.Json_FromStream`1[[MicroBenchmarks.Serializers.CollectionsOfPrimitives, MicroBenchmarks, Version=42.42.42.42, Culture=neutral, PublicKeyToken=null]].SetupSystemTextJson_Reflection_()
[2023/07/10 13:41:04][INFO] at BenchmarkDotNet.Engines.EngineFactory.CreateReadyToRun(EngineParameters engineParameters)
[2023/07/10 13:41:04][INFO] at BenchmarkDotNet.Autogenerated.Runnable_8.Run(IHost host, String benchmarkName)
[2023/07/10 13:41:04][INFO] at System.Reflection.MethodInvoker.InterpretedInvoke(Object , IntPtr* )
[2023/07/10 13:41:04][INFO] at System.Reflection.MethodInvoker.Invoke(Object , IntPtr* , BindingFlags )
[2023/07/10 13:41:04][INFO] --- End of inner exception stack trace ---
[2023/07/10 13:41:04][INFO] at System.Reflection.MethodInvoker.Invoke(Object , IntPtr* , BindingFlags )
[2023/07/10 13:41:04][INFO] at System.Reflection.RuntimeMethodInfo.Invoke(Object , BindingFlags , Binder , Object[] , CultureInfo )
[2023/07/10 13:41:04][INFO] at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
[2023/07/10 13:41:04][INFO] at BenchmarkDotNet.Autogenerated.UniqueProgramName.AfterAssemblyLoadingAttached(String[] args)
[2023/07/10 13:41:04][INFO] // AfterAll
[2023/07/10 13:41:04][INFO] test-main.js exiting 9be6d396-2873-49f0-afdc-0f119e16e9f1.dll --benchmarkName with result -1
[2023/07/10 13:41:04][INFO] MONO_WASM: {"name":"ExitStatus","message":"Program terminated with exit(-1)","status":-1}
[2023/07/10 13:41:04][INFO] console.info: WASM EXIT -1
[2023/07/10 13:41:04][INFO] No Workload Results were obtained from the run.
The latest runs are not hitting this error. https://github.com/dotnet/performance/pull/3115 appears to have fixed the issue so we should see a regression on these same values next autofile run. I have opened an issue to check out the NA values being inserted as 0.
browser-bench was affected by this too, should be fixed with https://github.com/dotnet/runtime/commit/de1a93a4765d852d30a7fa9f91216607cdfa8a6b
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToString<LoginViewModel>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToString<CollectionsOfPrimitives>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToStream<MyEventsListerViewModel>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToStream<CollectionsOfPrimitives>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToStream<LoginViewModel>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToStream<Location>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToString<MyEventsListerViewModel>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md
Run Information
Improvements in MicroBenchmarks.Serializers.Json_ToString<Location>
Test Report
Repro
General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md