Skip to content

Commit bf283fe

Browse files
authored
Added the Evaluating event that allows to debug or log steps of the evaluation. (#67)
1 parent 6c35e01 commit bf283fe

File tree

43 files changed

+1840
-1063
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1840
-1063
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
```
22
3-
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4169/23H2/2023Update/SunValley3)
3+
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4249/23H2/2023Update/SunValley3)
44
11th Gen Intel Core i7-11800H 2.30GHz, 1 CPU, 16 logical and 8 physical cores
55
.NET SDK 8.0.400
66
[Host] : .NET 6.0.33 (6.0.3324.36610), X64 RyuJIT AVX2
@@ -9,29 +9,29 @@ BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4169/23H2/2023Update/SunValley3
99
1010
1111
```
12-
| Method | Job | Runtime | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
13-
|----------------------------------------------------------------------------- |--------- |--------- |---------------:|--------------:|--------------:|-------:|-------:|----------:|
14-
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 19,938.791 ns | 166.2195 ns | 138.8008 ns | 0.4883 | 0.2441 | 6439 B |
15-
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 36,920.265 ns | 713.5946 ns | 927.8745 ns | 0.6714 | 0.3052 | 8919 B |
16-
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 24,230.694 ns | 163.0016 ns | 144.4967 ns | 0.5493 | 0.2747 | 7040 B |
17-
| 'NCalc: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 26,380.959 ns | 381.7797 ns | 338.4377 ns | 0.3967 | 0.1831 | 5215 B |
18-
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 100,971.944 ns | 1,651.1639 ns | 1,544.4997 ns | 0.7324 | 0.3662 | 9256 B |
19-
| 'NCalc: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 83,576.104 ns | 948.3688 ns | 887.1048 ns | 0.4883 | 0.2441 | 6662 B |
20-
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 2.936 ns | 0.0271 ns | 0.0253 ns | 0.0019 | - | 24 B |
21-
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 3.556 ns | 0.0905 ns | 0.1006 ns | 0.0019 | - | 24 B |
22-
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 78,986.703 ns | 1,479.4636 ns | 1,453.0311 ns | 0.3662 | 0.1221 | 6090 B |
23-
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 40,382.823 ns | 793.0421 ns | 1,058.6884 ns | 0.6104 | 0.3052 | 8063 B |
24-
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 97,566.627 ns | 1,686.6910 ns | 1,577.7318 ns | 0.4883 | 0.2441 | 7189 B |
25-
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 70,452.834 ns | 1,368.8036 ns | 1,576.3163 ns | 0.6104 | 0.2441 | 8510 B |
26-
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 18,447.447 ns | 252.3220 ns | 223.6769 ns | 0.4883 | 0.4578 | 6439 B |
27-
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 32,740.270 ns | 638.7286 ns | 1,013.0913 ns | 0.6104 | 0.4883 | 8231 B |
28-
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 23,697.547 ns | 464.6382 ns | 604.1610 ns | 0.5493 | 0.4883 | 7088 B |
29-
| 'NCalc: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 24,406.666 ns | 475.4540 ns | 547.5336 ns | 0.3967 | 0.3662 | 5263 B |
30-
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 97,830.970 ns | 1,544.3126 ns | 1,444.5510 ns | 0.7324 | 0.4883 | 9304 B |
31-
| 'NCalc: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 78,474.557 ns | 972.4896 ns | 909.6674 ns | 0.4883 | 0.2441 | 6710 B |
32-
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 2.830 ns | 0.0815 ns | 0.1737 ns | 0.0019 | - | 24 B |
33-
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.307 ns | 0.0829 ns | 0.1453 ns | 0.0019 | - | 24 B |
34-
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 105,298.874 ns | 2,079.5129 ns | 4,006.5153 ns | 0.2441 | - | 6084 B |
35-
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 34,885.354 ns | 226.5149 ns | 211.8822 ns | 0.6104 | 0.4883 | 7967 B |
36-
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 114,326.405 ns | 640.1140 ns | 598.7630 ns | 0.4883 | 0.2441 | 7185 B |
37-
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 60,732.883 ns | 256.0143 ns | 239.4759 ns | 0.6104 | 0.4883 | 8510 B |
12+
| Method | Job | Runtime | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
13+
|----------------------------------------------------------------------------- |--------- |--------- |---------------:|------------:|------------:|-------:|-------:|----------:|
14+
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 19,935.011 ns | 242.3083 ns | 226.6553 ns | 0.4883 | 0.2441 | 6319 B |
15+
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 6.0 | .NET 6.0 | 35,031.552 ns | 198.5465 ns | 176.0063 ns | 0.6714 | 0.3052 | 8919 B |
16+
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 23,969.974 ns | 193.2862 ns | 180.8000 ns | 0.5493 | 0.2747 | 7048 B |
17+
| 'NCalc: "true or not false and (true or false)"' | .NET 6.0 | .NET 6.0 | 25,754.904 ns | 290.9546 ns | 257.9237 ns | 0.3967 | 0.1831 | 5215 B |
18+
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 97,613.829 ns | 495.5810 ns | 463.5668 ns | 0.7324 | 0.3662 | 9264 B |
19+
| 'NCalc: "A or not B and (C or B)"' | .NET 6.0 | .NET 6.0 | 81,902.216 ns | 629.5435 ns | 588.8754 ns | 0.4883 | 0.2441 | 6662 B |
20+
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 3.008 ns | 0.0299 ns | 0.0249 ns | 0.0019 | - | 24 B |
21+
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 6.0 | .NET 6.0 | 3.371 ns | 0.0549 ns | 0.0514 ns | 0.0019 | - | 24 B |
22+
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 75,073.739 ns | 435.9913 ns | 407.8266 ns | 0.3662 | 0.1221 | 6098 B |
23+
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 6.0 | .NET 6.0 | 36,721.397 ns | 191.0277 ns | 149.1419 ns | 0.6104 | 0.3052 | 8063 B |
24+
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 91,956.152 ns | 495.6916 ns | 463.6703 ns | 0.4883 | 0.2441 | 7197 B |
25+
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 6.0 | .NET 6.0 | 66,189.395 ns | 565.4448 ns | 528.9174 ns | 0.6104 | 0.2441 | 8510 B |
26+
| 'MathEvaluator: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 17,296.169 ns | 149.3702 ns | 139.7210 ns | 0.4883 | 0.4578 | 6319 B |
27+
| 'NCalc: "22888.32 * 30 / 323.34 / .5 - -1 / (2 + 22888.32) * 4 - 6"' | .NET 8.0 | .NET 8.0 | 30,247.428 ns | 186.2291 ns | 165.0872 ns | 0.6104 | 0.4883 | 8231 B |
28+
| 'MathEvaluator: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 20,531.579 ns | 157.8084 ns | 139.8930 ns | 0.5493 | 0.4883 | 7096 B |
29+
| 'NCalc: "true or not false and (true or false)"' | .NET 8.0 | .NET 8.0 | 21,781.408 ns | 176.4773 ns | 165.0770 ns | 0.3967 | 0.3662 | 5263 B |
30+
| 'MathEvaluator: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 98,758.682 ns | 786.9071 ns | 657.1030 ns | 0.7324 | 0.4883 | 9312 B |
31+
| 'NCalc: "A or not B and (C or B)"' | .NET 8.0 | .NET 8.0 | 78,691.382 ns | 581.1694 ns | 543.6263 ns | 0.4883 | 0.2441 | 6710 B |
32+
| 'MathEvaluator: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 2.637 ns | 0.0186 ns | 0.0155 ns | 0.0019 | - | 24 B |
33+
| 'NCalc: fn(new BooleanVariables { A = a, B = b, C = c })' | .NET 8.0 | .NET 8.0 | 3.047 ns | 0.0192 ns | 0.0179 ns | 0.0019 | - | 24 B |
34+
| 'MathEvaluator: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 102,271.216 ns | 634.2132 ns | 593.2435 ns | 0.2441 | - | 6092 B |
35+
| 'NCalc: "Sin(pi/6) + Cos(pi/3)"' | .NET 8.0 | .NET 8.0 | 34,417.425 ns | 264.5679 ns | 247.4770 ns | 0.6104 | 0.4883 | 8255 B |
36+
| 'MathEvaluator: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 114,923.618 ns | 609.4532 ns | 570.0829 ns | 0.4883 | 0.2441 | 7197 B |
37+
| 'NCalc: "Sin(a) + Cos(b)"' | .NET 8.0 | .NET 8.0 | 60,920.799 ns | 160.9769 ns | 142.7018 ns | 0.6104 | 0.4883 | 8510 B |

0 commit comments

Comments
 (0)