[json] Use S.R.I vectors in JsonReaderHelper (#81758)
authorRadek Doulik <radek.doulik@gmail.com>
Wed, 8 Feb 2023 12:20:29 +0000 (13:20 +0100)
committerGitHub <noreply@github.com>
Wed, 8 Feb 2023 12:20:29 +0000 (13:20 +0100)
commit43a60c8ed073a4c6134facadd01c9c1c2643e41a
treec5929a2442b161769b147aafc194d9080366697b
parent25fa77e159a6def3bd91e31cbc4b91fed6f7f03b
[json] Use S.R.I vectors in JsonReaderHelper (#81758)

* [json] Use S.R.I vectors in JsonReaderHelper

wasm performance improvement

| measurement | new simd | old simd | nosimd |
|-:|-:|-:|-:|
|       Json, non-ASCII text deserialize |     0.4234ms |     0.4280ms |     0.4234ms |
|                Json, small deserialize |     0.0376ms |     0.0402ms |     0.0397ms |
|                Json, large deserialize |    10.4231ms |    11.1614ms |    11.0021ms |

microbenchmarks perf

    --filter *Text.Json*Read*
    summary:
    better: 170, geomean: 1.120
    worse: 15, geomean: 1.080
    total diff: 185

* Use SRI vectors only on net7 and later
src/libraries/System.Text.Json/src/System.Text.Json.csproj
src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.cs
src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.sn.cs [new file with mode: 0644]
src/libraries/System.Text.Json/src/System/Text/Json/Reader/JsonReaderHelper.sri.cs [new file with mode: 0644]