Skip to content

Commit ac1eace

Browse files
author
Martin Boje Carpentier
committed
Added deserialize benchmarks
1 parent 22db44c commit ac1eace

12 files changed

Lines changed: 13158 additions & 40 deletions
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using BenchmarkDotNet.Attributes;
2+
using BenchmarkDotNet.Jobs;
3+
4+
namespace GeoJSON.Text.Test.Benchmark.Deserialize
5+
{
6+
[SimpleJob(RuntimeMoniker.Net60, baseline: true)]
7+
[SimpleJob(RuntimeMoniker.Net50)]
8+
[SimpleJob(RuntimeMoniker.NetCoreApp31)]
9+
[MemoryDiagnoser]
10+
public class DeserializeFeatureCollectionLinestring
11+
{
12+
string fileContents = "";
13+
14+
[Params(1000, 10000, 100000)]
15+
public int N;
16+
17+
[GlobalSetup]
18+
public void Setup()
19+
{
20+
fileContents = JsonEmbeddedFileReader.GetExpectedJson($"DeserializeFeatureCollectionLinestring_{N}");
21+
}
22+
23+
#pragma warning disable CS8603 // Possible null reference return.
24+
[Benchmark]
25+
public Net.Feature.FeatureCollection DeserializeNewtonsoft() => Newtonsoft.Json.JsonConvert.DeserializeObject<Net.Feature.FeatureCollection>(fileContents);
26+
27+
28+
[Benchmark]
29+
public Text.Feature.FeatureCollection DeserializeSystemTextJson() => System.Text.Json.JsonSerializer.Deserialize<Text.Feature.FeatureCollection>(fileContents);
30+
#pragma warning restore CS8603 // Possible null reference return.
31+
}
32+
}

0 commit comments

Comments
 (0)