Skip to content

Commit

Permalink
Added the Evaluating event that allows to debug or log steps of the e…
Browse files Browse the repository at this point in the history
…valuation. (#67)
  • Loading branch information
AntonovAnton authored Oct 1, 2024
1 parent 6c35e01 commit bf283fe
Show file tree
Hide file tree
Showing 43 changed files with 1,840 additions and 1,063 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
```
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4169/23H2/2023Update/SunValley3)
BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4249/23H2/2023Update/SunValley3)
11th Gen Intel Core i7-11800H 2.30GHz, 1 CPU, 16 logical and 8 physical cores
.NET SDK 8.0.400
[Host] : .NET 6.0.33 (6.0.3324.36610), X64 RyuJIT AVX2
Expand All @@ -9,29 +9,29 @@ BenchmarkDotNet v0.13.12, Windows 11 (10.0.22631.4169/23H2/2023Update/SunValley3
```
| Method | Job | Runtime | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|----------------------------------------------------------------------------- |--------- |--------- |---------------:|--------------:|--------------:|-------:|-------:|----------:|
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| Method | Job | Runtime | Mean | Error | StdDev | Gen0 | Gen1 | Allocated |
|----------------------------------------------------------------------------- |--------- |--------- |---------------:|------------:|------------:|-------:|-------:|----------:|
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
| '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 |
Loading

0 comments on commit bf283fe

Please sign in to comment.