Skip to content

[Perf] Changes at 3/20/2021 12:33:05 AM #4666

@performanceautofiler

Description

@performanceautofiler

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Serialization.Tests.WriteJson<ArrayList>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeObjectProperty 14.61 μs 13.45 μs 0.92
SerializeToStream 13.43 μs 12.43 μs 0.93

graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeObjectProperty

[12520.815 ; 12896.835) | @@@@
[12896.835 ; 13323.969) | 
[13323.969 ; 13699.989) | @@@@@@@@@@@@@@@@@@@@@@@
[13699.989 ; 14121.315) | @@@@@@@@
[14121.315 ; 14645.137) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14645.137 ; 15046.905) | @@@@@@@@@@@@@
[15046.905 ; 15451.954) | @@@@@@@@
[15451.954 ; 15892.982) | @@

System.Text.Json.Serialization.Tests.WriteJson<ArrayList>.SerializeToStream

[11222.464 ; 11628.250) | @@@@@
[11628.250 ; 12234.125) | @@@
[12234.125 ; 12639.910) | @@@@@@@@@@@@@@@@@@@
[12639.910 ; 13053.206) | @@@@@@@
[13053.206 ; 13458.992) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13458.992 ; 14099.450) | @@@@@@
[14099.450 ; 14505.236) | @@@@@@@@@
[14505.236 ; 14818.138) | 
[14818.138 ; 15223.923) | @@@

Docs

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

### Run Information
Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Tests.Perf_Strings

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
WriteStringsUtf16 17.95 ms 16.41 ms 0.91
WriteStringsUtf8 11.90 ms 10.88 ms 0.91
WriteStringsUtf8 12.68 ms 11.19 ms 0.88
WriteStringsUtf8 12.83 ms 11.85 ms 0.92
WriteStringsUtf8 6.90 ms 6.05 ms 0.88
WriteStringsUtf16 18.13 ms 16.76 ms 0.92
WriteStringsUtf8 6.23 ms 5.25 ms 0.84
WriteStringsUtf16 17.31 ms 15.60 ms 0.90
WriteStringsUtf8 6.89 ms 6.07 ms 0.88
WriteStringsUtf8 12.95 ms 12.00 ms 0.93
WriteStringsUtf8 6.37 ms 5.34 ms 0.84
WriteStringsUtf16 11.05 ms 9.24 ms 0.84
WriteStringsUtf16 16.73 ms 15.64 ms 0.93
WriteStringsUtf16 10.29 ms 8.36 ms 0.81
WriteStringsUtf16 10.17 ms 8.00 ms 0.79
WriteStringsUtf16 10.95 ms 8.89 ms 0.81

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Tests.Perf_Strings*'
Details

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

[16070432.701 ; 16639170.474) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16639170.474 ; 17344979.209) | @
[17344979.209 ; 17866231.906) | @@@@@@@@@@@
[17866231.906 ; 18434969.679) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18434969.679 ; 19003707.452) | 
[19003707.452 ; 19572445.225) | 
[19572445.225 ; 20339549.720) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

[10349405.462 ; 12546575.190) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12546575.190 ; 14743744.919) | 
[14743744.919 ; 16940914.647) | 
[16940914.647 ; 19138084.375) | 
[19138084.375 ; 21335254.103) | 
[21335254.103 ; 23532423.832) | 
[23532423.832 ; 24909903.543) | 
[24909903.543 ; 27274833.012) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

[10734531.353 ; 12912332.341) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[12912332.341 ; 15090133.329) | 
[15090133.329 ; 17267934.318) | 
[17267934.318 ; 19445735.306) | 
[19445735.306 ; 21623536.294) | 
[21623536.294 ; 23801337.282) | 
[23801337.282 ; 25193553.871) | 
[25193553.871 ; 27494084.939) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: OneEscaped)

[11184635.617 ; 13388386.814) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13388386.814 ; 15592138.012) | 
[15592138.012 ; 17795889.209) | 
[17795889.209 ; 19999640.407) | 
[19999640.407 ; 22203391.604) | 
[22203391.604 ; 24407142.801) | 
[24407142.801 ; 25757170.327) | 
[25757170.327 ; 28043567.451) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: True, Escaped: NoneEscaped)

[ 5077020.143 ;  8092356.299) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 8092356.299 ; 11107692.456) | 
[11107692.456 ; 14123028.612) | 
[14123028.612 ; 17138364.769) | 
[17138364.769 ; 20153700.925) | 
[20153700.925 ; 23169037.082) | 
[23169037.082 ; 25091505.255) | 
[25091505.255 ; 28255193.264) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

[16495988.697 ; 17016108.922) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17016108.922 ; 17792538.551) | @@@
[17792538.551 ; 18312658.775) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[18312658.775 ; 19144931.619) | @
[19144931.619 ; 19665051.843) | 
[19665051.843 ; 20140808.777) | 
[20140808.777 ; 20660929.001) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: True, Escaped: NoneEscaped)

[ 4405710.294 ;  7407920.415) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 7407920.415 ; 10410130.536) | 
[10410130.536 ; 13412340.656) | 
[13412340.656 ; 16414550.777) | 
[16414550.777 ; 19416760.898) | 
[19416760.898 ; 22418971.018) | 
[22418971.018 ; 24297108.719) | 
[24297108.719 ; 27444731.727) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: OneEscaped)

[15460364.392 ; 16061568.292) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16061568.292 ; 16980622.812) | @@@
[16980622.812 ; 17581826.712) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17581826.712 ; 18488818.304) | @@
[18488818.304 ; 19090022.204) | 
[19090022.204 ; 19860266.236) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: NoneEscaped)

[ 5057609.765 ;  8113273.688) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 8113273.688 ; 11168937.612) | 
[11168937.612 ; 14224601.535) | 
[14224601.535 ; 17280265.459) | 
[17280265.459 ; 20335929.383) | 
[20335929.383 ; 23391593.306) | 
[23391593.306 ; 25432050.181) | 
[25432050.181 ; 28619565.295) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: True, SkipValidation: False, Escaped: OneEscaped)

[11374497.476 ; 13557840.888) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13557840.888 ; 15741184.299) | 
[15741184.299 ; 17924527.710) | 
[17924527.710 ; 20107871.121) | 
[20107871.121 ; 22291214.533) | 
[22291214.533 ; 24474557.944) | 
[24474557.944 ; 25915295.787) | 
[25915295.787 ; 28193533.187) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf8(Formatted: False, SkipValidation: False, Escaped: NoneEscaped)

[ 4475052.697 ;  7503808.618) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 7503808.618 ; 10532564.540) | 
[10532564.540 ; 13561320.461) | 
[13561320.461 ; 16590076.383) | 
[16590076.383 ; 19618832.305) | 
[19618832.305 ; 22647588.226) | 
[22647588.226 ; 24593399.530) | 
[24593399.530 ; 27763281.294) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: False, Escaped: NoneEscaped)

[ 8834694.861 ;  9657002.159) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9657002.159 ; 10479309.457) | 
[10479309.457 ; 10837575.856) | 
[10837575.856 ; 11659883.154) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11659883.154 ; 12482190.452) | 
[12482190.452 ; 13304497.751) | 
[13304497.751 ; 14126805.049) | 
[14126805.049 ; 14598485.443) | 
[14598485.443 ; 15518807.399) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: OneEscaped)

[15110748.865 ; 15692173.488) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15692173.488 ; 16329197.688) | 
[16329197.688 ; 16688768.384) | @
[16688768.384 ; 17270193.008) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[17270193.008 ; 17683064.677) | @@@@@
[17683064.677 ; 18264489.301) | 
[18264489.301 ; 18845913.925) | 
[18845913.925 ; 19202813.244) | 
[19202813.244 ; 19823181.756) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: False, Escaped: NoneEscaped)

[ 7896338.137 ;  8768019.410) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 8768019.410 ;  9586157.495) | 
[ 9586157.495 ;  9989082.041) | 
[ 9989082.041 ; 10807220.126) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10807220.126 ; 11625358.211) | 
[11625358.211 ; 12443496.296) | 
[12443496.296 ; 13261634.381) | 
[13261634.381 ; 13631225.838) | 
[13631225.838 ; 14494540.154) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: False, SkipValidation: True, Escaped: NoneEscaped)

[ 7519310.115 ;  8398498.871) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 8398498.871 ;  9237662.051) | 
[ 9237662.051 ;  9809481.190) | 
[ 9809481.190 ; 10648644.370) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[10648644.370 ; 11487807.549) | 
[11487807.549 ; 12326970.729) | 
[12326970.729 ; 13304698.462) | 
[13304698.462 ; 14200855.796) | @@@@@@@@

System.Text.Json.Tests.Perf_Strings.WriteStringsUtf16(Formatted: True, SkipValidation: True, Escaped: NoneEscaped)

[ 8468443.929 ;  9290489.881) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 9290489.881 ; 10112535.833) | 
[10112535.833 ; 10626751.982) | 
[10626751.982 ; 11448797.934) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[11448797.934 ; 12270843.886) | 
[12270843.886 ; 13092889.838) | 
[13092889.838 ; 13914935.790) | 
[13914935.790 ; 14268431.484) | 
[14268431.484 ; 15129289.363) | @@@@@@@@

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream 15.66 μs 13.53 μs 0.86
SerializeObjectProperty 16.49 μs 14.68 μs 0.89
SerializeToString 15.69 μs 14.17 μs 0.90
SerializeToUtf8Bytes 14.94 μs 12.25 μs 0.82

graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;Dictionary&lt;String, String&gt;&gt;*'
Details

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToStream

[13055.999 ; 13832.274) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[13832.274 ; 14608.550) | 
[14608.550 ; 15307.754) | 
[15307.754 ; 16084.029) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16084.029 ; 16996.550) | @@@@
[16996.550 ; 17950.830) | 
[17950.830 ; 18790.127) | @@@@@@@@

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeObjectProperty

[13786.497 ; 14714.102) | @@@@@@@@@@@@@@@@@@@@@@@@@@@
[14714.102 ; 15308.268) | @
[15308.268 ; 16033.886) | 
[16033.886 ; 16961.491) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16961.491 ; 17492.986) | @
[17492.986 ; 18420.591) | 
[18420.591 ; 19586.790) | @@@@@@@@@@
[19586.790 ; 20554.900) | @
[20554.900 ; 21264.524) | 
[21264.524 ; 22192.130) | @

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToString

[13410.508 ; 14235.207) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[14235.207 ; 15059.906) | 
[15059.906 ; 15582.056) | 
[15582.056 ; 16406.755) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[16406.755 ; 16954.659) | @
[16954.659 ; 17779.358) | 
[17779.358 ; 18399.844) | 
[18399.844 ; 18914.227) | @
[18914.227 ; 19738.926) | @@@@@@@

System.Text.Json.Serialization.Tests.WriteJson<Dictionary<String, String>>.SerializeToUtf8Bytes

[12111.177 ; 12934.288) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[12934.288 ; 14016.531) | @@
[14016.531 ; 14348.028) | 
[14348.028 ; 15171.139) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[15171.139 ; 16109.999) | @@@
[16109.999 ; 16933.109) | 
[16933.109 ; 18058.296) | @@@@@@@
[18058.296 ; 18863.060) | @

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Encodings.Web.Tests.Perf_Encoders

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
EncodeUtf8 188.51 ns 37.05 ns 0.20
EncodeUtf16 295.33 ns 121.07 ns 0.41
EncodeUtf16 506.45 ns 142.00 ns 0.28
EncodeUtf16 439.20 ns 173.01 ns 0.39
EncodeUtf16 899.82 ns 146.21 ns 0.16
EncodeUtf8 2.80 μs 77.96 ns 0.03
EncodeUtf8 226.39 ns 18.21 ns 0.08
EncodeUtf16 38.13 ns 23.64 ns 0.62
EncodeUtf8 226.82 ns 49.66 ns 0.22
EncodeUtf8 167.02 ns 51.21 ns 0.31
EncodeUtf16 218.58 ns 88.09 ns 0.40
EncodeUtf16 41.99 ns 26.00 ns 0.62
EncodeUtf16 148.12 ns 73.84 ns 0.50
EncodeUtf8 300.38 ns 69.91 ns 0.23
EncodeUtf8 205.52 ns 18.64 ns 0.09
EncodeUtf8 2.88 μs 127.16 ns 0.04
EncodeUtf16 1.04 μs 187.38 ns 0.18
EncodeUtf16 78.33 ns 47.40 ns 0.61
EncodeUtf16 79.34 ns 46.01 ns 0.58
EncodeUtf8 2.77 μs 96.53 ns 0.03
EncodeUtf8 2.81 μs 111.89 ns 0.04
EncodeUtf8 2.77 μs 112.37 ns 0.04
EncodeUtf8 2.79 μs 73.87 ns 0.03
EncodeUtf16 420.75 ns 121.42 ns 0.29

graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Encodings.Web.Tests.Perf_Encoders*'
Details

.

Payloads

Baseline
Compare

Histogram

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",16)

[ 15.416 ;  54.942) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 54.942 ;  92.823) | 
[ 92.823 ; 118.820) | 
[118.820 ; 169.066) | @@@@@@@@
[169.066 ; 208.949) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,512)

[ 77.466 ; 164.743) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[164.743 ; 266.539) | 
[266.539 ; 352.113) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[352.113 ; 437.687) | 
[437.687 ; 523.261) | 
[523.261 ; 608.835) | 
[608.835 ; 691.701) | 
[691.701 ; 779.049) | @@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",512)

[ 91.302 ; 192.791) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[192.791 ; 293.126) | 
[293.126 ; 393.461) | 
[393.461 ; 435.570) | 
[435.570 ; 535.905) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[535.905 ; 636.239) | 
[636.239 ; 683.252) | 
[683.252 ; 783.852) | @@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,512)

[127.583 ; 216.837) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[216.837 ; 304.669) | 
[304.669 ; 390.621) | 
[390.621 ; 478.453) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[478.453 ; 566.286) | 
[566.286 ; 654.118) | 
[654.118 ; 715.291) | 
[715.291 ; 804.142) | @@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,©2020,512)

[ 52.303 ;  239.823) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[239.823 ;  425.710) | 
[425.710 ;  611.597) | 
[611.597 ;  723.480) | 
[723.480 ;  909.368) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[909.368 ; 1029.517) | @@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,512)

[-267.960 ;  418.275) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 418.275 ; 1100.354) | 
[1100.354 ; 1782.433) | 
[1782.433 ; 2192.715) | 
[2192.715 ; 3090.985) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[3090.985 ; 3773.189) | @@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,no <escaping /> required,16)

[ -7.797 ;  45.318) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 45.318 ;  96.742) | 
[ 96.742 ; 148.167) | 
[148.167 ; 180.684) | 
[180.684 ; 232.109) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[232.109 ; 271.191) | @

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,no escaping required,16)

[21.818 ; 27.065) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[27.065 ; 32.312) | 
[32.312 ; 34.697) | 
[34.697 ; 39.945) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[39.945 ; 45.192) | 
[45.192 ; 50.439) | 
[50.439 ; 55.687) | 
[55.687 ; 58.212) | 
[58.212 ; 64.142) | @@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,16)

[ 26.035 ;  72.590) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 72.590 ; 103.936) | 
[103.936 ; 148.574) | @@@@@@@@
[148.574 ; 205.479) | 
[205.479 ; 252.635) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,©2020,16)

[ 36.275 ;  67.409) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 67.409 ; 100.504) | 
[100.504 ; 129.206) | @@@@@@@@
[129.206 ; 155.736) | 
[155.736 ; 184.438) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[184.438 ; 209.171) | @@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,16)

[ 75.479 ; 110.049) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[110.049 ; 144.620) | 
[144.620 ; 179.190) | 
[179.190 ; 208.204) | 
[208.204 ; 242.775) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no <escaping /> required,16)

[21.384 ; 27.723) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[27.723 ; 34.063) | 
[34.063 ; 40.929) | 
[40.929 ; 47.268) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[47.268 ; 54.525) | @@
[54.525 ; 62.020) | 
[62.020 ; 68.437) | @@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: JavaScript,&Hello+<World>!,16)

[ 68.766 ;  89.819) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 89.819 ; 110.872) | 
[110.872 ; 131.925) | 
[131.925 ; 142.866) | 
[142.866 ; 163.918) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,16)

[ 40.571 ; 100.033) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[100.033 ; 173.126) | @@@@@@@@
[173.126 ; 231.721) | 
[231.721 ; 272.945) | 
[272.945 ; 336.794) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,16)

[ -5.337 ;  43.135) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 43.135 ;  89.872) | 
[ 89.872 ; 136.609) | 
[136.609 ; 163.915) | 
[163.915 ; 210.652) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[210.652 ; 236.987) | 
[236.987 ; 284.093) | @@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,&lorem ipsum=dolor sit amet,512)

[-212.715 ;  471.396) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 471.396 ; 1150.613) | 
[1150.613 ; 1848.718) | 
[1848.718 ; 2287.886) | @@@@@@@
[2287.886 ; 2967.104) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,&lorem ipsum=dolor sit amet,512)

[ 81.046 ;  293.361) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[293.361 ;  503.712) | 
[503.712 ;  667.511) | 
[667.511 ;  943.005) | @@@@@@@@
[943.005 ; 1163.828) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: Url,©2020,16)

[43.931 ; 53.929) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[53.929 ; 61.815) | @@@@@@@@
[61.815 ; 69.701) | 
[69.701 ; 74.413) | 
[74.413 ; 83.218) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,hello "there",16)

[40.504 ; 49.406) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[49.406 ; 57.530) | 
[57.530 ; 66.431) | @@@@@@@@
[66.431 ; 77.427) | 
[77.427 ; 86.328) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: UnsafeRelaxed,hello "there",512)

[-238.905 ;  424.321) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 424.321 ; 1084.961) | 
[1084.961 ; 1745.600) | 
[1745.600 ; 2144.138) | 
[2144.138 ; 2804.778) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,&Hello+<World>!,512)

[-234.687 ;  448.372) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 448.372 ; 1127.896) | 
[1127.896 ; 1829.789) | 
[1829.789 ; 2509.313) | @@@@@@@@
[2509.313 ; 2771.447) | 
[2771.447 ; 3450.971) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: Url,©2020,512)

[-222.528 ;  439.966) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 439.966 ; 1100.023) | 
[1100.023 ; 1820.084) | 
[1820.084 ; 2288.378) | @@@@@@@
[2288.378 ; 2948.435) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf8(arguments: JavaScript,no escaping required,512)

[-262.026 ;  413.219) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 413.219 ; 1084.978) | 
[1084.978 ; 1756.737) | 
[1756.737 ; 2190.769) | 
[2190.769 ; 2862.528) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

System.Text.Encodings.Web.Tests.Perf_Encoders.EncodeUtf16(arguments: UnsafeRelaxed,no <escaping /> required,512)

[ 70.275 ; 169.113) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[169.113 ; 265.646) | 
[265.646 ; 362.179) | 
[362.179 ; 487.018) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[487.018 ; 583.551) | 
[583.551 ; 691.224) | 
[691.224 ; 790.101) | @@@@@@@@

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Serialization.Tests.WriteJson<Hashtable>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream 22.82 μs 21.31 μs 0.93
SerializeObjectProperty 24.84 μs 23.14 μs 0.93
SerializeToUtf8Bytes 23.15 μs 21.75 μs 0.94
SerializeToString 24.64 μs 22.78 μs 0.92

graph
graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToStream

[20585.372 ; 21458.311) | @@@@@@@@@@@@@@@@@@@@@@@@
[21458.311 ; 22189.786) | @
[22189.786 ; 23062.725) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23062.725 ; 24122.397) | @@@@@
[24122.397 ; 24995.336) | @@@@@@
[24995.336 ; 26147.494) | @@@@@@
[26147.494 ; 26798.209) | 
[26798.209 ; 27671.148) | @
[27671.148 ; 28357.766) | 
[28357.766 ; 29230.706) | @@

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeObjectProperty

[22427.747 ; 23309.133) | @@@@@@@@@@@@@@@@@@@@@@@
[23309.133 ; 23796.177) | 
[23796.177 ; 24469.866) | @@@
[24469.866 ; 25351.252) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[25351.252 ; 26217.778) | @@@@@
[26217.778 ; 27099.164) | @@@@@@@@
[27099.164 ; 27729.027) | @
[27729.027 ; 28712.438) | @@@@@@@
[28712.438 ; 29716.051) | @@

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToUtf8Bytes

[20533.772 ; 21006.633) | @
[21006.633 ; 21801.266) | @@@@@@@@@@@@@@@@@@@@@@@@@@@
[21801.266 ; 22523.965) | 
[22523.965 ; 23318.598) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23318.598 ; 24054.597) | @@@@
[24054.597 ; 24849.229) | @@@@@
[24849.229 ; 25604.595) | 
[25604.595 ; 26399.228) | @@@@@@@@
[26399.228 ; 27193.860) | 
[27193.860 ; 27761.354) | 
[27761.354 ; 28555.987) | @

System.Text.Json.Serialization.Tests.WriteJson<Hashtable>.SerializeToString

[21773.197 ; 22643.495) | @@@@@@@@@@@@@@@@@@@@@
[22643.495 ; 23546.657) | @@@@@@
[23546.657 ; 24646.984) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[24646.984 ; 25674.365) | @@@@@@@@@@@
[25674.365 ; 26544.664) | 
[26544.664 ; 27344.856) | 
[27344.856 ; 28215.155) | @@@@@@@
[28215.155 ; 29085.453) | 
[29085.453 ; 29955.752) | 
[29955.752 ; 30664.528) | 
[30664.528 ; 31534.826) | @

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream 25.74 μs 23.06 μs 0.90
SerializeObjectProperty 28.53 μs 26.60 μs 0.93
SerializeToUtf8Bytes 25.59 μs 23.14 μs 0.90

graph
graph
graph
Historical Data in Reporting System

Repro

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

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToStream

[21448.496 ; 22275.817) | @
[22275.817 ; 23590.393) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[23590.393 ; 24496.819) | @@
[24496.819 ; 25811.395) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[25811.395 ; 27148.026) | @@@@@@@@@
[27148.026 ; 28462.602) | 
[28462.602 ; 29777.177) | 
[29777.177 ; 31106.436) | 
[31106.436 ; 32981.039) | @@@@@@@
[32981.039 ; 34295.615) | @

System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeObjectProperty

[25632.837 ; 26964.459) | @@@@@@@@@@@@@@@@@@@@@@@@@@@
[26964.459 ; 27891.754) | @
[27891.754 ; 29223.376) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[29223.376 ; 30922.753) | @@@@@@@@@
[30922.753 ; 32254.374) | 
[32254.374 ; 33585.995) | 
[33585.995 ; 34983.217) | 
[34983.217 ; 36314.839) | @@@@@@@@

System.Text.Json.Serialization.Tests.WriteJson<IndexViewModel>.SerializeToUtf8Bytes

[22523.046 ; 23866.491) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@
[23866.491 ; 24778.156) | 
[24778.156 ; 26121.601) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[26121.601 ; 27441.896) | @@@@@@@@
[27441.896 ; 28785.341) | 
[28785.341 ; 30128.786) | 
[30128.786 ; 31117.923) | 
[31117.923 ; 31996.039) | @
[31996.039 ; 33339.484) | @@@@@@@

Docs

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

Run Information

Architecture arm64
OS Windows 10.0.19041
Baseline fee6a7b9de7f2d3b5118a08ccb11472e5f7f44da
Compare c5ec2386c9fda4fc6fb5a47559d8a570154d4a2d

Improvemnts in System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>

Benchmark Baseline Test Test/Base Baseline IR Compare IR IR Ratio Baseline ETL Compare ETL
SerializeToStream 26.45 μs 25.01 μs 0.95

graph
Historical Data in Reporting System

Repro

git clone https://github.com/dotnet/performance.git
py .\performance\scripts\benchmarks_ci.py -f netcoreapp5.0 --filter 'System.Text.Json.Serialization.Tests.WriteJson&lt;ImmutableSortedDictionary&lt;String, String&gt;&gt;*'
Details

.

Payloads

Baseline
Compare

Histogram

System.Text.Json.Serialization.Tests.WriteJson<ImmutableSortedDictionary<String, String>>.SerializeToStream

[23805.273 ; 24604.655) | @@
[24604.655 ; 25521.345) | @@@@@@@@@@@@@@@@@@@@@@@@@@
[25521.345 ; 26291.145) | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[26291.145 ; 27064.999) | @@@@@@@@@@@@@@@@@@@
[27064.999 ; 28100.443) | @@@
[28100.443 ; 28870.243) | @@@@
[28870.243 ; 30677.118) | @@@@@@@@

Docs

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions