Skip to content

Commit 48344e2

Browse files
committed
Re-run benchmarks and capture results.
1 parent 51f9fe4 commit 48344e2

File tree

2 files changed

+15
-40
lines changed

2 files changed

+15
-40
lines changed

FlurlGraphQL.Benchmarks/FlurlGraphQLParsingBenchmarks.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ graphqlSerializer as FlurlGraphQLNewtonsoftJsonSerializer
4040
}
4141

4242
[Benchmark]
43-
public void ParsingWithNewtonsoftJsonRewriting()
43+
public void ParsingWithNewtonsoftJsonTransform()
4444
{
4545
//NOTE: We leverage Internal Methods and Classes here to get lower level access for Unit Testing and Quicker Debugging...
4646
var graphqlSerializer = FlurlGraphQLNewtonsoftJsonSerializer.FromFlurlSerializer(new NewtonsoftJsonSerializer());
@@ -56,7 +56,7 @@ graphqlSerializer as FlurlGraphQLNewtonsoftJsonSerializer
5656
}
5757

5858
[Benchmark]
59-
public void ParsingWithSystemTextJsonRewriting()
59+
public void ParsingWithSystemTextJsonTransform()
6060
{
6161
//NOTE: We leverage Internal Methods and Classes here to get lower level access for Unit Testing and Quicker Debugging...
6262
var graphqlSerializer = FlurlGraphQLSystemTextJsonSerializer.FromFlurlSerializer(new DefaultJsonSerializer());

README.md

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -46,54 +46,29 @@ var results = await "https://graphql-star-wars.azurewebsites.net/api/graphql"
4646
## Performance with System.Text.Json vs Newtonsoft.Json
4747
// * Summary *
4848

49-
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22621.3155/22H2/2022Update/SunValley2)
50-
AMD Ryzen 9 5900X, 1 CPU, 24 logical and 12 physical cores
51-
.NET SDK 8.0.200-preview.23624.5
52-
[Host] : .NET 6.0.27 (6.0.2724.6912), X64 RyuJIT AVX2 [AttachedDebugger]
53-
DefaultJob : .NET 6.0.27 (6.0.2724.6912), X64 RyuJIT AVX2
54-
55-
56-
| Method | Mean | Error | StdDev | Ratio |
57-
|-------------------------- |----------:|---------:|---------:|------:|
58-
| ParsingNewtonsoftJson | 578.75 ms | 4.985 ms | 4.663 ms | 1.00 |
59-
| ParsingWithSystemTextJson | 54.50 ms | 0.738 ms | 0.654 ms | 0.09 |
60-
61-
// * Summary *
62-
6349
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.3296/23H2/2023Update/SunValley3)
6450
AMD Ryzen 9 5900X, 1 CPU, 24 logical and 12 physical cores
6551
.NET SDK 8.0.200-preview.23624.5
6652
[Host] : .NET 6.0.28 (6.0.2824.12007), X64 RyuJIT AVX2
6753
DefaultJob : .NET 6.0.28 (6.0.2824.12007), X64 RyuJIT AVX2
6854

6955

70-
| Method | Mean | Error | StdDev | Median | Ratio | RatioSD |
71-
|----------------------------------- |-----------:|---------:|---------:|-----------:|------:|--------:|
72-
| ParsingWithNewtonsoftJsonConverter | 2,212.6 ms | 22.88 ms | 20.29 ms | 2,213.6 ms | 1.00 | 0.00 |
73-
| ParsingWithNewtonsoftJsonRewriting | 1,058.9 ms | 20.92 ms | 36.08 ms | 1,042.5 ms | 0.49 | 0.02 |
74-
| ParsingWithSystemTextJsonRewriting | 291.2 ms | 3.08 ms | 2.73 ms | 290.2 ms | 0.13 | 0.00 |
56+
| Method | Mean | Error | StdDev | Ratio |
57+
|----------------------------------- |-----------:|---------:|---------:|------:|
58+
| ParsingWithNewtonsoftJsonConverter | 2,517.0 ms | 27.39 ms | 24.28 ms | 1.00 |
59+
| ParsingWithNewtonsoftJsonTransform | 1,246.9 ms | 9.73 ms | 9.10 ms | 0.50 |
60+
| ParsingWithSystemTextJsonTransform | 282.8 ms | 5.60 ms | 7.48 ms | 0.11 |
7561

7662
// * Hints *
7763
Outliers
78-
FlurlGraphQLParsingBenchmarks.ParsingWithNewtonsoftJsonConverter: Default -> 1 outlier was removed (2.31 s)
79-
FlurlGraphQLParsingBenchmarks.ParsingWithNewtonsoftJsonRewriting: Default -> 2 outliers were removed (1.18 s, 1.19 s)
80-
FlurlGraphQLParsingBenchmarks.ParsingWithSystemTextJsonRewriting: Default -> 1 outlier was removed (301.52 ms)
81-
82-
83-
// * Summary *
84-
85-
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.3296/23H2/2023Update/SunValley3)
86-
AMD Ryzen 9 5900X, 1 CPU, 24 logical and 12 physical cores
87-
.NET SDK 8.0.200-preview.23624.5
88-
[Host] : .NET 6.0.28 (6.0.2824.12007), X64 RyuJIT AVX2
89-
DefaultJob : .NET 6.0.28 (6.0.2824.12007), X64 RyuJIT AVX2
90-
91-
92-
| Method | Mean | Error | StdDev | Ratio |
93-
|----------------------------------- |-----------:|---------:|---------:|------:|
94-
| ParsingWithNewtonsoftJsonConverter | 2,421.8 ms | 29.55 ms | 27.64 ms | 1.00 |
95-
| ParsingWithNewtonsoftJsonRewriting | 1,025.1 ms | 15.77 ms | 12.31 ms | 0.42 |
96-
| ParsingWithSystemTextJsonRewriting | 323.9 ms | 5.77 ms | 5.40 ms | 0.13 |
64+
FlurlGraphQLParsingBenchmarks.ParsingWithNewtonsoftJsonConverter: Default -> 1 outlier was removed (2.58 s)
65+
66+
// * Legends *
67+
Mean : Arithmetic mean of all measurements
68+
Error : Half of 99.9% confidence interval
69+
StdDev : Standard deviation of all measurements
70+
Ratio : Mean of the ratio distribution ([Current]/[Baseline])
71+
1 ms : 1 Millisecond (0.001 sec)
9772

9873

9974
## Nuget Package (netstandard2.0 & netstandard2.1)

0 commit comments

Comments
 (0)