Skip to content

[Perf] System.Text.Json.Serialization Regressions on 7/21/2025 11:54:44 PM +00:00 #118173

Closed

Description

@performanceautofiler

Run Information

Name Value
Architecture x64
OS Windows 10.0.22621
Queue TigerWindows
Baseline 959c2a7a782b4e9e698e0f00cb06afe859d16829
Compare 0b2f272204ea0cb7d22d329a684c06cec412f736
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.ReadJson<Int32>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
212.45 ns 243.45 ns 1.15 0.06 False
211.55 ns 239.08 ns 1.13 0.05 False

graph
graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Int32&gt;*'
Details

System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

System.Text.Json.Serialization.Tests.ReadJson<Int32>.DeserializeFromStream(Mode: Reflection)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.22621
Queue TigerWindows
Baseline 959c2a7a782b4e9e698e0f00cb06afe859d16829
Compare 0b2f272204ea0cb7d22d329a684c06cec412f736
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
276.53 ns 292.65 ns 1.06 0.05 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'System.Text.Json.Serialization.Tests.ReadJson&lt;Nullable&lt;DateTimeOffset&gt;&gt;*'
Details

System.Text.Json.Serialization.Tests.ReadJson<Nullable<DateTimeOffset>>.DeserializeFromStream(Mode: SourceGen)

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository


Run Information

Name Value
Architecture x64
OS Windows 10.0.22621
Queue TigerWindows
Baseline 88f2361c958affeaaa24122780fecb680365b558
Compare 0b2f272204ea0cb7d22d329a684c06cec412f736
Diff Diff
Configs CompilationMode:tiered, RunKind:micro

Regressions in MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>

Benchmark Baseline Test Test/Base Test Quality Edge Detector Baseline IR Compare IR IR Ratio
359.87 ns 382.93 ns 1.06 0.01 False

graph
Test Report

Repro

General Docs link: https://github.com/dotnet/performance/blob/main/docs/benchmarking-workflow-dotnet-runtime.md

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f net8.0 --filter 'MicroBenchmarks.Serializers.Json_FromStream&lt;LoginViewModel&gt;*'
Details

MicroBenchmarks.Serializers.Json_FromStream<LoginViewModel>.SystemTextJson_SourceGen_

ETL Files

Histogram

JIT Disasms

Docs

Profiling workflow for dotnet/runtime repository
Benchmarking workflow for dotnet/runtime repository

Activity

  1. LoopedBard3 commented on Jul 29, 2025

    @LoopedBard3
    Member
  2. changed the title [-][Perf] Windows/x64: 4 Regressions on 7/21/2025 11:54:44 PM +00:00[/-] [+][Perf] System.Text.Json.Serialization Regressions on 7/21/2025 11:54:44 PM +00:00[/+] on Jul 29, 2025
  3. added
    untriagedNew issue has not been triaged by the area owner
    runtime-coreclrspecific to the CoreCLR runtime
    on Jul 29, 2025
  4. dotnet-policy-service commented on Jul 29, 2025

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/area-system-text-json, @gregsdennis
    See info in area-owners.md if you want to be subscribed.

  5. added this to the 10.0.0 milestone on Aug 4, 2025
  6. removed
    untriagedNew issue has not been triaged by the area owner
    on Aug 4, 2025
  7. jeffhandley commented on Aug 4, 2025

    @jeffhandley
    Member

    @BrennanConroy I assigned this to you for evaluation before we close down .NET 10. Please connect with @eiriktsarpalis to make sure the tradeoff is acceptable here or consider ways to mitigate the regression if caused by #116947.

  8. jeffhandley commented on Aug 30, 2025

    @jeffhandley
    Member

    The reports are still showing the regression; it doesn't look like #118408 addressed this.

  9. jeffhandley commented on Sep 25, 2025

    @jeffhandley
    Member

    Closing this as an accepted diff

  10. locked and limited conversation to collaborators on Oct 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions