Skip to content

Commit 57b4e20

Browse files
updated benchmark results
1 parent a3dd2e7 commit 57b4e20

File tree

3 files changed

+21
-22
lines changed

3 files changed

+21
-22
lines changed

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,30 @@ Source code for [Dotnet code generation overview by example](https://mtkachenko.
44

55
``` ini
66

7-
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19043.1237 (21H1/May2021Update)
8-
Intel Core i7-8550U CPU 1.80GHz (Kaby Lake R), 1 CPU, 8 logical and 4 physical cores
9-
.NET SDK=5.0.401
10-
[Host] : .NET 5.0.10 (5.0.1021.41214), X64 RyuJIT
11-
DefaultJob : .NET 5.0.10 (5.0.1021.41214), X64 RyuJIT
7+
BenchmarkDotNet v0.15.4, macOS 26.0.1 (25A362) [Darwin 25.0.0]
8+
Apple M4, 1 CPU, 10 logical and 10 physical cores
9+
.NET SDK 9.0.305
10+
[Host] : .NET 9.0.9 (9.0.9, 9.0.925.41916), Arm64 RyuJIT armv8.0-a
11+
DefaultJob : .NET 9.0.9 (9.0.9, 9.0.925.41916), Arm64 RyuJIT armv8.0-a
1212

1313

1414
```
1515

1616
## Generation of parser
17-
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
18-
|--------------- |-------------:|-------------:|-------------:|----------:|-------:|-------:|----------:|
19-
| EmitIl | 22.02 μs | 0.495 μs | 1.429 μs | 1.2817 | 0.6409 | 0.0305 | 5 KB |
20-
| ExpressionTree | 683.68 μs | 13.609 μs | 31.268 μs | 2.9297 | 0.9766 | - | 14 KB |
21-
| Sigil | 642.63 μs | 12.305 μs | 29.243 μs | 112.3047 | - | - | 460 KB |
22-
| Roslyn | 71,605.64 μs | 2,533.732 μs | 7,350.817 μs | 1000.0000 | - | - | 5,826 KB |
17+
| Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
18+
|--------------- |--------------:|------------:|------------:|----------:|---------:|---------:|-----------:|
19+
| EmitIl | 3.370 us | 0.0283 us | 0.0251 us | 0.4196 | 0.2060 | 0.0305 | 3.48 KB |
20+
| ExpressionTree | 131.847 us | 0.4957 us | 0.4394 us | 1.2207 | 0.4883 | - | 11.4 KB |
21+
| Sigil | 130.371 us | 1.2540 us | 1.1730 us | 52.7344 | 13.6719 | - | 433.2 KB |
22+
| Roslyn | 14,522.046 us | 263.8589 us | 246.8138 us | 1031.2500 | 343.7500 | 125.0000 | 7757.56 KB |
2323

2424
## Invocation of parser
25-
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen 0 | Allocated |
26-
|---------------- |------------:|----------:|----------:|------:|--------:|-------:|----------:|
27-
| EmitIl | 374.7 ns | 7.75 ns | 22.36 ns | 1.02 | 0.08 | 0.0095 | 40 B |
28-
| ExpressionTree | 378.1 ns | 7.56 ns | 20.57 ns | 1.03 | 0.08 | 0.0095 | 40 B |
29-
| Reflection | 13,625.0 ns | 272.60 ns | 750.81 ns | 37.29 | 2.29 | 0.7782 | 3,256 B |
30-
| Sigil | 378.9 ns | 7.69 ns | 21.06 ns | 1.03 | 0.07 | 0.0095 | 40 B |
31-
| Roslyn | 404.2 ns | 7.55 ns | 17.80 ns | 1.10 | 0.07 | 0.0095 | 40 B |
32-
| SourceGenerator | 384.4 ns | 7.79 ns | 21.46 ns | 1.05 | 0.08 | 0.0095 | 40 B |
33-
| ManuallyWritten | 367.8 ns | 7.36 ns | 15.68 ns | 1.00 | 0.00 | 0.0095 | 40 B |
25+
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
26+
|---------------- |------------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
27+
| EmitIl | 75.14 ns | 0.352 ns | 0.294 ns | 1.01 | 0.00 | 0.0048 | 40 B | 1.00 |
28+
| ExpressionTree | 76.12 ns | 1.306 ns | 1.222 ns | 1.02 | 0.02 | 0.0048 | 40 B | 1.00 |
29+
| Reflection | 1,084.40 ns | 21.704 ns | 25.837 ns | 14.52 | 0.34 | 0.0992 | 832 B | 20.80 |
30+
| Sigil | 75.51 ns | 0.319 ns | 0.249 ns | 1.01 | 0.00 | 0.0048 | 40 B | 1.00 |
31+
| Roslyn | 82.45 ns | 0.117 ns | 0.110 ns | 1.10 | 0.00 | 0.0048 | 40 B | 1.00 |
32+
| SourceGenerator | 75.59 ns | 0.092 ns | 0.086 ns | 1.01 | 0.00 | 0.0048 | 40 B | 1.00 |
33+
| ManuallyWritten | 74.66 ns | 0.142 ns | 0.133 ns | 1.00 | 0.00 | 0.0048 | 40 B | 1.00 |

benchmark/run.cmd

Lines changed: 0 additions & 2 deletions
This file was deleted.

benchmark/run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dotnet build -c Release && ./bin/Release/net9.0/Parsers.Benchmarks all

0 commit comments

Comments
 (0)