Speed up day 24 (#40)

This commit is contained in:
Patrick Stevens
2022-12-24 14:40:37 +00:00
committed by GitHub
parent 19fa3a96b0
commit 1a8ae7a362
4 changed files with 95 additions and 128 deletions

View File

@@ -10,11 +10,11 @@ Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |-------------:|------------:|------------:|
| **Benchmark** | **21** | **False** | **640.9 μs** | **1.31 μs** | **1.23 μs** |
| **Benchmark** | **21** | **True** | **579.0 μs** | **8.23 μs** | **7.70 μs** |
| **Benchmark** | **22** | **False** | **326.6 μs** | **2.11 μs** | **1.97 μs** |
| **Benchmark** | **22** | **True** | **217.7 μs** | **1.04 μs** | **0.97 μs** |
| **Benchmark** | **23** | **False** | **318,993.7 μs** | **4,929.31 μs** | **4,610.88 μs** |
| **Benchmark** | **23** | **True** | **2,714.7 μs** | **4.32 μs** | **3.61 μs** |
| **Benchmark** | **24** | **False** | **65,379.9 μs** | **159.24 μs** | **124.32 μs** |
| **Benchmark** | **24** | **True** | **21,290.9 μs** | **34.03 μs** | **28.41 μs** |
| **Benchmark** | **21** | **False** | **641.1 μs** | **1.80 μs** | **1.69 μs** |
| **Benchmark** | **21** | **True** | **580.3 μs** | **6.82 μs** | **6.05 μs** |
| **Benchmark** | **22** | **False** | **323.9 μs** | **0.66 μs** | **0.52 μs** |
| **Benchmark** | **22** | **True** | **218.4 μs** | **4.35 μs** | **4.28 μs** |
| **Benchmark** | **23** | **False** | **318,156.3 μs** | **4,910.78 μs** | **4,593.55 μs** |
| **Benchmark** | **23** | **True** | **2,684.9 μs** | **5.12 μs** | **4.27 μs** |
| **Benchmark** | **24** | **False** | **47,410.3 μs** | **63.64 μs** | **56.42 μs** |
| **Benchmark** | **24** | **True** | **15,613.9 μs** | **81.16 μs** | **71.95 μs** |

View File

@@ -1,9 +1,9 @@
Method,Job,AnalyzeLaunchVariance,EvaluateOverhead,MaxAbsoluteError,MaxRelativeError,MinInvokeCount,MinIterationTime,OutlierMode,Affinity,EnvironmentVariables,Jit,Platform,PowerPlanMode,Runtime,AllowVeryLargeObjects,Concurrent,CpuGroups,Force,HeapAffinitizeMask,HeapCount,NoAffinitize,RetainVm,Server,Arguments,BuildConfiguration,Clock,EngineFactory,NuGetReferences,Toolchain,IsMutator,InvocationCount,IterationCount,IterationTime,LaunchCount,MaxIterationCount,MaxWarmupIterationCount,MemoryRandomization,MinIterationCount,MinWarmupIterationCount,RunStrategy,UnrollFactor,WarmupCount,Day,IsPartOne,Mean,Error,StdDev
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,21,False,640.9 μs,1.31 μs,1.23 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,21,True,579.0 μs,8.23 μs,7.70 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,22,False,326.6 μs,2.11 μs,1.97 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,22,True,217.7 μs,1.04 μs,0.97 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,23,False,"318,993.7 μs","4,929.31 μs","4,610.88 μs"
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,23,True,"2,714.7 μs",4.32 μs,3.61 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,24,False,"65,379.9 μs",159.24 μs,124.32 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,24,True,"21,290.9 μs",34.03 μs,28.41 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,21,False,641.1 μs,1.80 μs,1.69 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,21,True,580.3 μs,6.82 μs,6.05 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,22,False,323.9 μs,0.66 μs,0.52 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,22,True,218.4 μs,4.35 μs,4.28 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,23,False,"318,156.3 μs","4,910.78 μs","4,593.55 μs"
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,23,True,"2,684.9 μs",5.12 μs,4.27 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,24,False,"47,410.3 μs",63.64 μs,56.42 μs
Benchmark,DefaultJob,False,Default,Default,Default,Default,Default,Default,0000000000,Empty,RyuJit,Arm64,8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c,.NET 7.0,False,True,False,True,Default,Default,False,False,False,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,Default,16,Default,24,True,"15,613.9 μs",81.16 μs,71.95 μs
1 Method Job AnalyzeLaunchVariance EvaluateOverhead MaxAbsoluteError MaxRelativeError MinInvokeCount MinIterationTime OutlierMode Affinity EnvironmentVariables Jit Platform PowerPlanMode Runtime AllowVeryLargeObjects Concurrent CpuGroups Force HeapAffinitizeMask HeapCount NoAffinitize RetainVm Server Arguments BuildConfiguration Clock EngineFactory NuGetReferences Toolchain IsMutator InvocationCount IterationCount IterationTime LaunchCount MaxIterationCount MaxWarmupIterationCount MemoryRandomization MinIterationCount MinWarmupIterationCount RunStrategy UnrollFactor WarmupCount Day IsPartOne Mean Error StdDev
2 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 21 False 640.9 μs 641.1 μs 1.31 μs 1.80 μs 1.23 μs 1.69 μs
3 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 21 True 579.0 μs 580.3 μs 8.23 μs 6.82 μs 7.70 μs 6.05 μs
4 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 22 False 326.6 μs 323.9 μs 2.11 μs 0.66 μs 1.97 μs 0.52 μs
5 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 22 True 217.7 μs 218.4 μs 1.04 μs 4.35 μs 0.97 μs 4.28 μs
6 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 23 False 318,993.7 μs 318,156.3 μs 4,929.31 μs 4,910.78 μs 4,610.88 μs 4,593.55 μs
7 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 23 True 2,714.7 μs 2,684.9 μs 4.32 μs 5.12 μs 3.61 μs 4.27 μs
8 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 24 False 65,379.9 μs 47,410.3 μs 159.24 μs 63.64 μs 124.32 μs 56.42 μs
9 Benchmark DefaultJob False Default Default Default Default Default Default 0000000000 Empty RyuJit Arm64 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c .NET 7.0 False True False True Default Default False False False Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default Default 16 Default 24 True 21,290.9 μs 15,613.9 μs 34.03 μs 81.16 μs 28.41 μs 71.95 μs

View File

@@ -2,7 +2,7 @@
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark21To25-20221224-133430</title>
<title>AdventOfCode2022.App.Benchmark21To25-20221224-141907</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
@@ -24,14 +24,14 @@ Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
<table>
<thead><tr><th>Method</th><th>Day</th><th>IsPartOne</th><th> Mean</th><th>Error</th><th>StdDev</th>
</tr>
</thead><tbody><tr><td>Benchmark</td><td>21</td><td>False</td><td>640.9 &mu;s</td><td>1.31 &mu;s</td><td>1.23 &mu;s</td>
</tr><tr><td>Benchmark</td><td>21</td><td>True</td><td>579.0 &mu;s</td><td>8.23 &mu;s</td><td>7.70 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>False</td><td>326.6 &mu;s</td><td>2.11 &mu;s</td><td>1.97 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>True</td><td>217.7 &mu;s</td><td>1.04 &mu;s</td><td>0.97 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>False</td><td>318,993.7 &mu;s</td><td>4,929.31 &mu;s</td><td>4,610.88 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>True</td><td>2,714.7 &mu;s</td><td>4.32 &mu;s</td><td>3.61 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>False</td><td>65,379.9 &mu;s</td><td>159.24 &mu;s</td><td>124.32 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>True</td><td>21,290.9 &mu;s</td><td>34.03 &mu;s</td><td>28.41 &mu;s</td>
</thead><tbody><tr><td>Benchmark</td><td>21</td><td>False</td><td>641.1 &mu;s</td><td>1.80 &mu;s</td><td>1.69 &mu;s</td>
</tr><tr><td>Benchmark</td><td>21</td><td>True</td><td>580.3 &mu;s</td><td>6.82 &mu;s</td><td>6.05 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>False</td><td>323.9 &mu;s</td><td>0.66 &mu;s</td><td>0.52 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>True</td><td>218.4 &mu;s</td><td>4.35 &mu;s</td><td>4.28 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>False</td><td>318,156.3 &mu;s</td><td>4,910.78 &mu;s</td><td>4,593.55 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>True</td><td>2,684.9 &mu;s</td><td>5.12 &mu;s</td><td>4.27 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>False</td><td>47,410.3 &mu;s</td><td>63.64 &mu;s</td><td>56.42 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>True</td><td>15,613.9 &mu;s</td><td>81.16 &mu;s</td><td>71.95 &mu;s</td>
</tr></tbody></table>
</body>
</html>