diff --git a/src/benchmarks/micro/libraries/System.Text.Json/Node/Perf_Create.cs b/src/benchmarks/micro/libraries/System.Text.Json/Node/Perf_Create.cs index 8bca392732e..16df68360e1 100644 --- a/src/benchmarks/micro/libraries/System.Text.Json/Node/Perf_Create.cs +++ b/src/benchmarks/micro/libraries/System.Text.Json/Node/Perf_Create.cs @@ -7,28 +7,54 @@ namespace System.Text.Json.Node.Tests [BenchmarkCategory(Categories.Libraries, Categories.JSON)] public class Perf_Create { + private readonly JsonNode[] _results = new JsonNode[50]; + [Benchmark] - public JsonNode Create_JsonBool() + public Span Create_JsonBool() { - return true; + Span results = _results.AsSpan(); + for (int i = 0; i < results.Length; i++) + { + results[i] = (JsonNode)true; + } + + return results; } [Benchmark] - public JsonNode Create_JsonNumber() + public Span Create_JsonNumber() { - return 42; + Span results = _results.AsSpan(); + for (int i = 0; i < results.Length; i++) + { + results[i] = (JsonNode)42; + } + + return results; } [Benchmark] - public JsonNode Create_JsonString() + public Span Create_JsonString() { - return "Some string"; + Span results = _results.AsSpan(); + for (int i = 0; i < results.Length; i++) + { + results[i] = (JsonNode)"some string"; + } + + return results; } [Benchmark] - public JsonNode Create_JsonArray() + public Span Create_JsonArray() { - return new JsonArray { null, null, null, null }; + Span results = _results.AsSpan(0, 20); + for (int i = 0; i < results.Length; i++) + { + results[i] = new JsonArray { null, null, null, null }; + } + + return results; } [Benchmark]