isb
isb copied to clipboard
Improve performance
Benchmark howto:
dotnet run -p ISB.Benchmark -c Release
As of the commit 024c7b72fd1f86437a1662e005b84bca3a997e6d :
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.5.2 (20G95) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 89.10 us | 1.736 us | 2.489 us |
| Run | 2,117.31 us | 31.815 us | 29.760 us |
| RunWithLibCall | 13,016.36 us | 255.537 us | 262.418 us |
With the commit of eb5cffa1b133c12977c45a77247888187dcaf33d :
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.5.2 (20G95) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 64.68 us | 0.199 us | 0.176 us |
| Run | 2,062.07 us | 11.140 us | 9.875 us |
| RunWithLibCall | 4,717.63 us | 13.144 us | 10.976 us |
(Added a new benchmark)
Without the commit 1be44fd526a5d428fc1b5b7e37b23f15461b736a
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.6 (20G165) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 65.09 us | 0.164 us | 0.137 us |
| Run | 2,054.25 us | 4.859 us | 4.308 us |
| RunWithLibCall | 4,966.69 us | 14.985 us | 13.284 us |
| RunPrimeChecking | 364.22 us | 0.580 us | 0.514 us |
With the comit 1be44fd526a5d428fc1b5b7e37b23f15461b736a
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.6 (20G165) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 65.63 us | 0.250 us | 0.221 us |
| Run | 1,993.80 us | 13.974 us | 12.387 us |
| RunWithLibCall | 4,818.23 us | 11.906 us | 9.295 us |
| RunPrimeChecking | 345.88 us | 1.107 us | 0.924 us |
With the commit 000d29f0a291824e02dbb5a50ec33b55682963c2
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.6 (20G165) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 67.07 us | 0.179 us | 0.150 us |
| Run | 1,824.45 us | 4.263 us | 3.987 us |
| RunWithLibCall | 4,742.75 us | 12.672 us | 10.582 us |
| RunPrimeChecking | 320.35 us | 0.656 us | 0.582 us |
With the commit e38574e7b26555c31a1457b30e07ddd821cd3a61
BenchmarkDotNet=v0.13.1, OS=macOS Big Sur 11.6 (20G165) [Darwin 20.6.0] Intel Xeon CPU E5-1650 v2 3.50GHz, 1 CPU, 12 logical and 6 physical cores .NET SDK=5.0.300 [Host] : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT DefaultJob : .NET 5.0.6 (5.0.621.22011), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Compile | 66.58 us | 0.745 us | 0.697 us |
| Run | 1,870.69 us | 6.084 us | 5.080 us |
| RunWithLibCall | 4,584.93 us | 12.776 us | 11.951 us |
| RunPrimeChecking | 322.01 us | 0.499 us | 0.417 us |