This commit is contained in:
Patrick Stevens
2022-12-25 11:18:42 +00:00
committed by GitHub
parent 1a8ae7a362
commit c7c5ee91c0
35 changed files with 686 additions and 420 deletions

View File

@@ -34,6 +34,7 @@
<EmbeddedResource Include="..\AdventOfCode2022.Test\Inputs\Day22.txt" />
<EmbeddedResource Include="..\AdventOfCode2022.Test\Inputs\Day23.txt" />
<EmbeddedResource Include="..\AdventOfCode2022.Test\Inputs\Day24.txt" />
<EmbeddedResource Include="..\AdventOfCode2022.Test\Inputs\Day25.txt" />
</ItemGroup>
<ItemGroup>

View File

@@ -2,5 +2,5 @@ namespace AdventOfCode2022.App
[<RequireQualifiedAccess>]
module Inputs =
let days = Array.init 24 (fun day -> Assembly.readResource $"Day%i{day + 1}.txt")
let days = Array.init 25 (fun day -> Assembly.readResource $"Day%i{day + 1}.txt")
let inline day (i : int) = days.[i - 1]

View File

@@ -5,92 +5,95 @@ open BenchmarkDotNet.Attributes
open BenchmarkDotNet.Configs
open BenchmarkDotNet.Running
type Benchmark1To5 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
module Benchmarks =
type Benchmark1To5 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
[<Params(1, 2, 3, 4, 5)>]
member val Day = 0 with get, set
[<Params(1, 2, 3, 4, 5)>]
member val Day = 0 with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
type Benchmark6To10 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
type Benchmark6To10 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
[<Params(6, 7, 8, 9, 10)>]
member val Day = 0 with get, set
[<Params(6, 7, 8, 9, 10)>]
member val Day = 0 with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
type Benchmark11To15 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
type Benchmark11To15 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
[<Params(11, 12, 13, 14, 15)>]
member val Day = 0 with get, set
[<Params(11, 12, 13, 14, 15)>]
member val Day = 0 with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
type Benchmark16To20 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
type Benchmark16To20 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
[<Params(16, 17, 18, 19, 20)>]
member val Day = 0 with get, set
[<Params(16, 17, 18, 19, 20)>]
member val Day = 0 with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
let finalBenchmarkArgs = (25, false) :: List.allPairs [ 21..24 ] [ false ; true ]
type Benchmark21To25 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
type Benchmark21To25 () =
[<GlobalSetup>]
member _.Setup () = Run.shouldWrite <- false
[<Params(21, 22, 23, 24)>]
member val Day = 0 with get, set
[<Params(21, 22, 23, 24)>]
member val Day = 0 with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Params(false, true)>]
member val IsPartOne = false with get, set
[<Benchmark>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<Benchmark>]
[<ArgumentsSource(nameof (finalBenchmarkArgs))>]
member this.Benchmark () : unit =
Run.allRuns.[this.Day - 1] (not this.IsPartOne) (Inputs.day this.Day)
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
[<GlobalCleanup>]
member _.Cleanup () = Run.shouldWrite <- true
module Program =
@@ -103,11 +106,11 @@ module Program =
.Create(DefaultConfig.Instance)
.WithOptions ConfigOptions.DisableOptimizationsValidator
let _summary = BenchmarkRunner.Run<Benchmark1To5> config
let _summary = BenchmarkRunner.Run<Benchmark6To10> config
let _summary = BenchmarkRunner.Run<Benchmark11To15> config
let _summary = BenchmarkRunner.Run<Benchmark16To20> config
let _summary = BenchmarkRunner.Run<Benchmark21To25> config
let _summary = BenchmarkRunner.Run<Benchmarks.Benchmark1To5> config
let _summary = BenchmarkRunner.Run<Benchmarks.Benchmark6To10> config
let _summary = BenchmarkRunner.Run<Benchmarks.Benchmark11To15> config
let _summary = BenchmarkRunner.Run<Benchmarks.Benchmark16To20> config
let _summary = BenchmarkRunner.Run<Benchmarks.Benchmark21To25> config
0
| _ ->
@@ -118,6 +121,8 @@ module Program =
Run.allRuns.[day - 1] false (Inputs.day day)
Run.allRuns.[day - 1] true (Inputs.day day)
Run.day25 (Inputs.day 25)
time.Stop ()
printfn $"Took %i{time.ElapsedMilliseconds}ms"
0

View File

@@ -346,6 +346,14 @@ module Run =
if shouldWrite then
printfn "%i" output
let day25 (input : string) =
let day25 = StringSplitEnumerator.make '\n' input
let output = Day25.part1 day25
if shouldWrite then
printfn "%s" output
let allRuns =
[|
day1

View File

@@ -32,6 +32,7 @@
<Compile Include="Day22.fs" />
<Compile Include="Day23.fs" />
<Compile Include="Day24.fs" />
<Compile Include="Day25.fs" />
<EmbeddedResource Include="Inputs\Day1.txt" />
<EmbeddedResource Include="Inputs\Day2.txt" />
<EmbeddedResource Include="Inputs\Day3.txt" />
@@ -56,6 +57,7 @@
<EmbeddedResource Include="Inputs\Day22.txt" />
<EmbeddedResource Include="Inputs\Day23.txt" />
<EmbeddedResource Include="Inputs\Day24.txt" />
<EmbeddedResource Include="Inputs\Day25.txt" />
</ItemGroup>
<ItemGroup>

View File

@@ -0,0 +1,76 @@
namespace AdventOfCode2022.Test
open NUnit.Framework
open FsUnitTyped
open AdventOfCode2022
open System
[<TestFixture>]
module TestDay25 =
let input =
"""1=-0-2
12111
2=0=
21
2=01
111
20012
112
1=-1=
1-12
12
1=
122
"""
[<Test>]
let ``Part 1, given`` () =
Day25.part1 (StringSplitEnumerator.make '\n' input) |> shouldEqual "2=-1=0"
[<Test>]
let ``Part 1`` () =
let input = Assembly.readResource "Day25.txt"
Day25.part1 (StringSplitEnumerator.make '\n' input)
|> shouldEqual "2-0=11=-0-2-1==1=-22"
let testCases =
[
1, "1"
2, "2"
3, "1="
4, "1-"
5, "10"
6, "11"
7, "12"
8, "2="
9, "2-"
10, "20"
15, "1=0"
20, "1-0"
2022, "1=11-2"
12345, "1-0---0"
314159265, "1121-1110-1=0"
1747, "1=-0-2"
906, "12111"
198, "2=0="
11, "21"
201, "2=01"
31, "111"
1257, "20012"
32, "112"
353, "1=-1="
107, "1-12"
7, "12"
3, "1="
37, "122"
]
|> List.map TestCaseData
[<TestCaseSource(nameof testCases)>]
let ``toInt works`` (int : int, str : string) =
Day25.toInt (str.AsSpan ()) |> shouldEqual int
[<TestCaseSource(nameof testCases)>]
let ``ofInt works`` (int : int, str : string) = Day25.ofInt int |> shouldEqual str

View File

@@ -0,0 +1,114 @@
1-0-0020
1=0---1=1=201
10=02-0=1
1-12-=111201-1212
110=-222=0201=
10--2=20
2=12=-02222021=02-
1-1-1=-1
2=2=2--00-2121=02-1
201-1-210-
1212-11=
2=---10
2=1-02200001211
1===1-2==2-1
10=--=-=00
22-0=
2==0-1022=02
11221=-==-1-20-0
100
10-=22===1=00=0
2=0
1=1=0101=20
2--0=02-11021-
1222011-2--2=
22
20==00=122
2=1-010
20-=222-=2-1002-2
2=
122==01==12202-=
120202
2112=2-0202-12-02
1-=
11=
1101-1==2--
1=0=00=2=0-=02
1021--
1=02-=201122-=12-1
1==0=200=02=2=-2=22
1=21=10211-2222
21-0
1==21=
12=-220002-1=-21=2
1100-=-
1201=02=-111=00-0=
10=-=0122100==1--2
21=-12
10=21-0-2-200022
2102=-2--=1-2=2-1
1=1211101
2002=02--===
1200-
11--20-=-
10-20-0
1=2=
20100-22-0
12==-1
22=0011
2-200222=1121
201-2-=2==00-
1=-=0=--0===2
21=----2==020
1=1-20-=1=-02-2--2=
21
1=202110111=000
2-22-002=
10=1-001
1-002-221000=02
2==---1-0
1012=0--=00--10
1-2=21-2
1=1
11-
1-10--122-12
20
1==
2010=-2-2==2=--
1=11=
10-=
1=-=2--2-110=100
100==--01==
1-1-20=--1-2-0212
20-1001002-
2=1-
1==-2-0-102=-
1-1
12-1-0=2=-22--=10
10=21-02--=-=22
110210-12210--1-=-
1==1--2=21
1-0200=2-2-
22==-00=-
1-=2=-20-202=20111
2=0=-1=
1=-212=1=2
10-220=02
100-
1==02=0021
10=-1222-
1-212==
12-012=
1-0-102-1=-=-01=1-=1
1-
11211
2-0
1=0=
1=0=111000--=12=1
1-1-011==0102-
2==02202=2-=2
11---01-=--=2-02
1==0120-01=0-=0
1=-=2=1-=0=0==212=
212211110=
1=20101-==1

View File

@@ -36,6 +36,7 @@
<Compile Include="Day22.fs" />
<Compile Include="Day23.fs" />
<Compile Include="Day24.fs" />
<Compile Include="Day25.fs" />
</ItemGroup>
<ItemGroup>

59
AdventOfCode2022/Day25.fs Normal file
View File

@@ -0,0 +1,59 @@
namespace AdventOfCode2022
open System
open Microsoft.FSharp.NativeInterop
#if DEBUG
open Checked
#else
#nowarn "9"
#endif
[<RequireQualifiedAccess>]
module Day25 =
let toInt (s : ReadOnlySpan<char>) : int64 =
let mutable i = 0L
let mutable fivePow = 1L
for c = s.Length - 1 downto 0 do
match s.[c] with
| '2' -> i <- i + 2L * fivePow
| '1' -> i <- i + fivePow
| '0' -> ()
| '-' -> i <- i - fivePow
| '=' -> i <- i - 2L * fivePow
| c -> failwithf "unrecognised: %c" c
fivePow <- fivePow * 5L
i
let rec ofInt (i : int64) : string =
if i <= 2L then
sprintf "%i" i
else
match i % 5L with
| 0L -> sprintf "%s0" (ofInt (i / 5L))
| 1L -> sprintf "%s1" (ofInt (i / 5L))
| 2L -> sprintf "%s2" (ofInt (i / 5L))
| 3L -> sprintf "%s=" (ofInt (i / 5L + 1L))
| 4L -> sprintf "%s-" (ofInt (i / 5L + 1L))
| _ -> failwith "maths doesn't work"
/// Returns the width and the height too. The resulting array is suitable to become an Arr2D.
let parse (line : StringSplitEnumerator) : int64 ResizeArray =
use mutable enum = line.GetEnumerator ()
let output = ResizeArray ()
while enum.MoveNext () do
if not (enum.Current.IsWhiteSpace ()) then
let line = enum.Current.Trim ()
output.Add (toInt line)
output
let part1 (lines : StringSplitEnumerator) : string =
let numbers = parse lines
numbers |> Seq.map int64 |> Seq.sum |> ofInt

View File

@@ -1,22 +0,0 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------------:|--------------:|------------:|
| **Benchmark** | **11** | **False** | **2,813.869 μs** | **14.6687 μs** | **12.2490 μs** |
| **Benchmark** | **11** | **True** | **7.198 μs** | **0.0554 μs** | **0.0519 μs** |
| **Benchmark** | **12** | **False** | **22,499.829 μs** | **361.1070 μs** | **281.9286 μs** |
| **Benchmark** | **12** | **True** | **18,836.926 μs** | **136.6720 μs** | **121.1562 μs** |
| **Benchmark** | **13** | **False** | **392.867 μs** | **2.6808 μs** | **2.3764 μs** |
| **Benchmark** | **13** | **True** | **374.141 μs** | **2.5758 μs** | **2.4094 μs** |
| **Benchmark** | **14** | **False** | **4,157.513 μs** | **23.2704 μs** | **20.6286 μs** |
| **Benchmark** | **14** | **True** | **347.943 μs** | **4.7107 μs** | **4.4064 μs** |
| **Benchmark** | **15** | **False** | **52.101 μs** | **0.6099 μs** | **0.5705 μs** |
| **Benchmark** | **15** | **True** | **179,334.650 μs** | **1,074.9237 μs** | **839.2297 μs** |

View File

@@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark11To15-20221223-105122</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>11</td><td>False</td><td>2,813.869 &mu;s</td><td>14.6687 &mu;s</td><td>12.2490 &mu;s</td>
</tr><tr><td>Benchmark</td><td>11</td><td>True</td><td>7.198 &mu;s</td><td>0.0554 &mu;s</td><td>0.0519 &mu;s</td>
</tr><tr><td>Benchmark</td><td>12</td><td>False</td><td>22,499.829 &mu;s</td><td>361.1070 &mu;s</td><td>281.9286 &mu;s</td>
</tr><tr><td>Benchmark</td><td>12</td><td>True</td><td>18,836.926 &mu;s</td><td>136.6720 &mu;s</td><td>121.1562 &mu;s</td>
</tr><tr><td>Benchmark</td><td>13</td><td>False</td><td>392.867 &mu;s</td><td>2.6808 &mu;s</td><td>2.3764 &mu;s</td>
</tr><tr><td>Benchmark</td><td>13</td><td>True</td><td>374.141 &mu;s</td><td>2.5758 &mu;s</td><td>2.4094 &mu;s</td>
</tr><tr><td>Benchmark</td><td>14</td><td>False</td><td>4,157.513 &mu;s</td><td>23.2704 &mu;s</td><td>20.6286 &mu;s</td>
</tr><tr><td>Benchmark</td><td>14</td><td>True</td><td>347.943 &mu;s</td><td>4.7107 &mu;s</td><td>4.4064 &mu;s</td>
</tr><tr><td>Benchmark</td><td>15</td><td>False</td><td>52.101 &mu;s</td><td>0.6099 &mu;s</td><td>0.5705 &mu;s</td>
</tr><tr><td>Benchmark</td><td>15</td><td>True</td><td>179,334.650 &mu;s</td><td>1,074.9237 &mu;s</td><td>839.2297 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -1,22 +0,0 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------------:|-------------:|-------------:|
| **Benchmark** | **16** | **False** | **3,528,338.8 μs** | **69,294.15 μs** | **82,489.76 μs** |
| **Benchmark** | **16** | **True** | **377,458.7 μs** | **975.99 μs** | **815.00 μs** |
| **Benchmark** | **17** | **False** | **3,102.7 μs** | **60.69 μs** | **53.80 μs** |
| **Benchmark** | **17** | **True** | **1,593.5 μs** | **6.95 μs** | **5.80 μs** |
| **Benchmark** | **18** | **False** | **43,915.2 μs** | **313.88 μs** | **293.61 μs** |
| **Benchmark** | **18** | **True** | **139.9 μs** | **1.99 μs** | **1.86 μs** |
| **Benchmark** | **19** | **False** | **570,969.8 μs** | **3,119.46 μs** | **2,917.94 μs** |
| **Benchmark** | **19** | **True** | **690,794.4 μs** | **5,494.15 μs** | **5,139.23 μs** |
| **Benchmark** | **20** | **False** | **118,895.5 μs** | **260.48 μs** | **230.91 μs** |
| **Benchmark** | **20** | **True** | **12,892.8 μs** | **35.90 μs** | **33.58 μs** |

View File

@@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark16To20-20221223-105433</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>16</td><td>False</td><td>3,528,338.8 &mu;s</td><td>69,294.15 &mu;s</td><td>82,489.76 &mu;s</td>
</tr><tr><td>Benchmark</td><td>16</td><td>True</td><td>377,458.7 &mu;s</td><td>975.99 &mu;s</td><td>815.00 &mu;s</td>
</tr><tr><td>Benchmark</td><td>17</td><td>False</td><td>3,102.7 &mu;s</td><td>60.69 &mu;s</td><td>53.80 &mu;s</td>
</tr><tr><td>Benchmark</td><td>17</td><td>True</td><td>1,593.5 &mu;s</td><td>6.95 &mu;s</td><td>5.80 &mu;s</td>
</tr><tr><td>Benchmark</td><td>18</td><td>False</td><td>43,915.2 &mu;s</td><td>313.88 &mu;s</td><td>293.61 &mu;s</td>
</tr><tr><td>Benchmark</td><td>18</td><td>True</td><td>139.9 &mu;s</td><td>1.99 &mu;s</td><td>1.86 &mu;s</td>
</tr><tr><td>Benchmark</td><td>19</td><td>False</td><td>570,969.8 &mu;s</td><td>3,119.46 &mu;s</td><td>2,917.94 &mu;s</td>
</tr><tr><td>Benchmark</td><td>19</td><td>True</td><td>690,794.4 &mu;s</td><td>5,494.15 &mu;s</td><td>5,139.23 &mu;s</td>
</tr><tr><td>Benchmark</td><td>20</td><td>False</td><td>118,895.5 &mu;s</td><td>260.48 &mu;s</td><td>230.91 &mu;s</td>
</tr><tr><td>Benchmark</td><td>20</td><td>True</td><td>12,892.8 &mu;s</td><td>35.90 &mu;s</td><td>33.58 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -1,22 +0,0 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------:|---------:|---------:|
| **Benchmark** | **1** | **False** | **32.19 μs** | **0.076 μs** | **0.067 μs** |
| **Benchmark** | **1** | **True** | **32.07 μs** | **0.114 μs** | **0.107 μs** |
| **Benchmark** | **2** | **False** | **79.54 μs** | **0.419 μs** | **0.392 μs** |
| **Benchmark** | **2** | **True** | **81.04 μs** | **0.143 μs** | **0.127 μs** |
| **Benchmark** | **3** | **False** | **67.11 μs** | **0.604 μs** | **0.565 μs** |
| **Benchmark** | **3** | **True** | **29.12 μs** | **0.296 μs** | **0.277 μs** |
| **Benchmark** | **4** | **False** | **53.06 μs** | **0.171 μs** | **0.160 μs** |
| **Benchmark** | **4** | **True** | **64.65 μs** | **0.209 μs** | **0.195 μs** |
| **Benchmark** | **5** | **False** | **78.68 μs** | **0.322 μs** | **0.252 μs** |
| **Benchmark** | **5** | **True** | **91.09 μs** | **0.345 μs** | **0.323 μs** |

View File

@@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark1To5-20221223-104458</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>1</td><td>False</td><td>32.19 &mu;s</td><td>0.076 &mu;s</td><td>0.067 &mu;s</td>
</tr><tr><td>Benchmark</td><td>1</td><td>True</td><td>32.07 &mu;s</td><td>0.114 &mu;s</td><td>0.107 &mu;s</td>
</tr><tr><td>Benchmark</td><td>2</td><td>False</td><td>79.54 &mu;s</td><td>0.419 &mu;s</td><td>0.392 &mu;s</td>
</tr><tr><td>Benchmark</td><td>2</td><td>True</td><td>81.04 &mu;s</td><td>0.143 &mu;s</td><td>0.127 &mu;s</td>
</tr><tr><td>Benchmark</td><td>3</td><td>False</td><td>67.11 &mu;s</td><td>0.604 &mu;s</td><td>0.565 &mu;s</td>
</tr><tr><td>Benchmark</td><td>3</td><td>True</td><td>29.12 &mu;s</td><td>0.296 &mu;s</td><td>0.277 &mu;s</td>
</tr><tr><td>Benchmark</td><td>4</td><td>False</td><td>53.06 &mu;s</td><td>0.171 &mu;s</td><td>0.160 &mu;s</td>
</tr><tr><td>Benchmark</td><td>4</td><td>True</td><td>64.65 &mu;s</td><td>0.209 &mu;s</td><td>0.195 &mu;s</td>
</tr><tr><td>Benchmark</td><td>5</td><td>False</td><td>78.68 &mu;s</td><td>0.322 &mu;s</td><td>0.252 &mu;s</td>
</tr><tr><td>Benchmark</td><td>5</td><td>True</td><td>91.09 &mu;s</td><td>0.345 &mu;s</td><td>0.323 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -1,20 +0,0 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |-------------:|------------:|------------:|
| **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,37 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark21To25-20221224-141907</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>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>

View File

@@ -1,22 +0,0 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |-----------:|-----------:|----------:|
| **Benchmark** | **6** | **False** | **52.298 μs** | **1.0260 μs** | **1.8762 μs** |
| **Benchmark** | **6** | **True** | **16.584 μs** | **0.1464 μs** | **0.1369 μs** |
| **Benchmark** | **7** | **False** | **444.348 μs** | **2.6326 μs** | **2.4625 μs** |
| **Benchmark** | **7** | **True** | **446.293 μs** | **1.9890 μs** | **1.8605 μs** |
| **Benchmark** | **8** | **False** | **280.641 μs** | **1.2356 μs** | **1.1558 μs** |
| **Benchmark** | **8** | **True** | **551.138 μs** | **5.4089 μs** | **4.5166 μs** |
| **Benchmark** | **9** | **False** | **886.578 μs** | **10.4698 μs** | **9.7934 μs** |
| **Benchmark** | **9** | **True** | **450.062 μs** | **5.8633 μs** | **5.4845 μs** |
| **Benchmark** | **10** | **False** | **8.373 μs** | **0.0165 μs** | **0.0128 μs** |
| **Benchmark** | **10** | **True** | **7.495 μs** | **0.0311 μs** | **0.0259 μs** |

View File

@@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmark6To10-20221223-104743</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>6</td><td>False</td><td>52.298 &mu;s</td><td>1.0260 &mu;s</td><td>1.8762 &mu;s</td>
</tr><tr><td>Benchmark</td><td>6</td><td>True</td><td>16.584 &mu;s</td><td>0.1464 &mu;s</td><td>0.1369 &mu;s</td>
</tr><tr><td>Benchmark</td><td>7</td><td>False</td><td>444.348 &mu;s</td><td>2.6326 &mu;s</td><td>2.4625 &mu;s</td>
</tr><tr><td>Benchmark</td><td>7</td><td>True</td><td>446.293 &mu;s</td><td>1.9890 &mu;s</td><td>1.8605 &mu;s</td>
</tr><tr><td>Benchmark</td><td>8</td><td>False</td><td>280.641 &mu;s</td><td>1.2356 &mu;s</td><td>1.1558 &mu;s</td>
</tr><tr><td>Benchmark</td><td>8</td><td>True</td><td>551.138 &mu;s</td><td>5.4089 &mu;s</td><td>4.5166 &mu;s</td>
</tr><tr><td>Benchmark</td><td>9</td><td>False</td><td>886.578 &mu;s</td><td>10.4698 &mu;s</td><td>9.7934 &mu;s</td>
</tr><tr><td>Benchmark</td><td>9</td><td>True</td><td>450.062 &mu;s</td><td>5.8633 &mu;s</td><td>5.4845 &mu;s</td>
</tr><tr><td>Benchmark</td><td>10</td><td>False</td><td>8.373 &mu;s</td><td>0.0165 &mu;s</td><td>0.0128 &mu;s</td>
</tr><tr><td>Benchmark</td><td>10</td><td>True</td><td>7.495 &mu;s</td><td>0.0311 &mu;s</td><td>0.0259 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -0,0 +1,22 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------------:|------------:|------------:|
| **Benchmark** | **11** | **False** | **2,816.897 μs** | **3.4524 μs** | **2.8829 μs** |
| **Benchmark** | **11** | **True** | **7.143 μs** | **0.0171 μs** | **0.0152 μs** |
| **Benchmark** | **12** | **False** | **20,082.913 μs** | **58.7261 μs** | **52.0592 μs** |
| **Benchmark** | **12** | **True** | **20,100.938 μs** | **35.8436 μs** | **27.9844 μs** |
| **Benchmark** | **13** | **False** | **388.554 μs** | **1.4083 μs** | **1.3173 μs** |
| **Benchmark** | **13** | **True** | **370.303 μs** | **0.8468 μs** | **0.7921 μs** |
| **Benchmark** | **14** | **False** | **4,047.039 μs** | **6.5252 μs** | **5.7845 μs** |
| **Benchmark** | **14** | **True** | **336.346 μs** | **1.2479 μs** | **1.1062 μs** |
| **Benchmark** | **15** | **False** | **51.410 μs** | **0.2912 μs** | **0.2724 μs** |
| **Benchmark** | **15** | **True** | **176,371.580 μs** | **855.0546 μs** | **714.0093 μs** |

View File

@@ -1,11 +1,11 @@
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,11,False,"2,813.869 μs",14.6687 μs,12.2490 μ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,11,True,7.198 μs,0.0554 μs,0.0519 μ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,12,False,"22,499.829 μs",361.1070 μs,281.9286 μ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,12,True,"18,836.926 μs",136.6720 μs,121.1562 μ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,13,False,392.867 μs,2.6808 μs,2.3764 μ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,13,True,374.141 μs,2.5758 μs,2.4094 μ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,14,False,"4,157.513 μs",23.2704 μs,20.6286 μ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,14,True,347.943 μs,4.7107 μs,4.4064 μ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,15,False,52.101 μs,0.6099 μs,0.5705 μ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,15,True,"179,334.650 μs","1,074.9237 μs",839.2297 μ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,11,False,"2,816.897 μs",3.4524 μs,2.8829 μ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,11,True,7.143 μs,0.0171 μs,0.0152 μ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,12,False,"20,082.913 μs",58.7261 μs,52.0592 μ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,12,True,"20,100.938 μs",35.8436 μs,27.9844 μ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,13,False,388.554 μs,1.4083 μs,1.3173 μ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,13,True,370.303 μs,0.8468 μs,0.7921 μ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,14,False,"4,047.039 μs",6.5252 μs,5.7845 μ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,14,True,336.346 μs,1.2479 μs,1.1062 μ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,15,False,51.410 μs,0.2912 μs,0.2724 μ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,15,True,"176,371.580 μs",855.0546 μs,714.0093 μ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 11 False 2,813.869 μs 2,816.897 μs 14.6687 μs 3.4524 μs 12.2490 μs 2.8829 μ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 11 True 7.198 μs 7.143 μs 0.0554 μs 0.0171 μs 0.0519 μs 0.0152 μ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 12 False 22,499.829 μs 20,082.913 μs 361.1070 μs 58.7261 μs 281.9286 μs 52.0592 μ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 12 True 18,836.926 μs 20,100.938 μs 136.6720 μs 35.8436 μs 121.1562 μs 27.9844 μ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 13 False 392.867 μs 388.554 μs 2.6808 μs 1.4083 μs 2.3764 μs 1.3173 μ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 13 True 374.141 μs 370.303 μs 2.5758 μs 0.8468 μs 2.4094 μs 0.7921 μ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 14 False 4,157.513 μs 4,047.039 μs 23.2704 μs 6.5252 μs 20.6286 μs 5.7845 μ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 14 True 347.943 μs 336.346 μs 4.7107 μs 1.2479 μs 4.4064 μs 1.1062 μs
10 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 15 False 52.101 μs 51.410 μs 0.6099 μs 0.2912 μs 0.5705 μs 0.2724 μs
11 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 15 True 179,334.650 μs 176,371.580 μs 1,074.9237 μs 855.0546 μs 839.2297 μs 714.0093 μs

View File

@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmarks.Benchmark11To15-20221225-093433</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>11</td><td>False</td><td>2,816.897 &mu;s</td><td>3.4524 &mu;s</td><td>2.8829 &mu;s</td>
</tr><tr><td>Benchmark</td><td>11</td><td>True</td><td>7.143 &mu;s</td><td>0.0171 &mu;s</td><td>0.0152 &mu;s</td>
</tr><tr><td>Benchmark</td><td>12</td><td>False</td><td>20,082.913 &mu;s</td><td>58.7261 &mu;s</td><td>52.0592 &mu;s</td>
</tr><tr><td>Benchmark</td><td>12</td><td>True</td><td>20,100.938 &mu;s</td><td>35.8436 &mu;s</td><td>27.9844 &mu;s</td>
</tr><tr><td>Benchmark</td><td>13</td><td>False</td><td>388.554 &mu;s</td><td>1.4083 &mu;s</td><td>1.3173 &mu;s</td>
</tr><tr><td>Benchmark</td><td>13</td><td>True</td><td>370.303 &mu;s</td><td>0.8468 &mu;s</td><td>0.7921 &mu;s</td>
</tr><tr><td>Benchmark</td><td>14</td><td>False</td><td>4,047.039 &mu;s</td><td>6.5252 &mu;s</td><td>5.7845 &mu;s</td>
</tr><tr><td>Benchmark</td><td>14</td><td>True</td><td>336.346 &mu;s</td><td>1.2479 &mu;s</td><td>1.1062 &mu;s</td>
</tr><tr><td>Benchmark</td><td>15</td><td>False</td><td>51.410 &mu;s</td><td>0.2912 &mu;s</td><td>0.2724 &mu;s</td>
</tr><tr><td>Benchmark</td><td>15</td><td>True</td><td>176,371.580 &mu;s</td><td>855.0546 &mu;s</td><td>714.0093 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -0,0 +1,22 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------------:|-------------:|-------------:|
| **Benchmark** | **16** | **False** | **3,374,503.8 μs** | **52,507.02 μs** | **49,115.10 μs** |
| **Benchmark** | **16** | **True** | **327,698.3 μs** | **600.56 μs** | **501.49 μs** |
| **Benchmark** | **17** | **False** | **2,998.1 μs** | **6.00 μs** | **5.01 μs** |
| **Benchmark** | **17** | **True** | **1,558.3 μs** | **4.51 μs** | **4.22 μs** |
| **Benchmark** | **18** | **False** | **42,879.1 μs** | **61.32 μs** | **54.36 μs** |
| **Benchmark** | **18** | **True** | **128.1 μs** | **0.71 μs** | **0.67 μs** |
| **Benchmark** | **19** | **False** | **560,825.7 μs** | **715.96 μs** | **597.86 μs** |
| **Benchmark** | **19** | **True** | **679,746.9 μs** | **5,022.34 μs** | **4,697.90 μs** |
| **Benchmark** | **20** | **False** | **117,412.5 μs** | **126.43 μs** | **112.07 μs** |
| **Benchmark** | **20** | **True** | **12,717.7 μs** | **11.25 μs** | **9.39 μs** |

View File

@@ -1,11 +1,11 @@
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,16,False,"3,528,338.8 μs","69,294.15 μs","82,489.76 μ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,16,True,"377,458.7 μs",975.99 μs,815.00 μ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,17,False,"3,102.7 μs",60.69 μs,53.80 μ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,17,True,"1,593.5 μs",6.95 μs,5.80 μ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,18,False,"43,915.2 μs",313.88 μs,293.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,18,True,139.9 μs,1.99 μs,1.86 μ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,19,False,"570,969.8 μs","3,119.46 μs","2,917.94 μ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,19,True,"690,794.4 μs","5,494.15 μs","5,139.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,20,False,"118,895.5 μs",260.48 μs,230.91 μ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,20,True,"12,892.8 μs",35.90 μs,33.58 μ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,16,False,"3,374,503.8 μs","52,507.02 μs","49,115.10 μ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,16,True,"327,698.3 μs",600.56 μs,501.49 μ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,17,False,"2,998.1 μs",6.00 μs,5.01 μ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,17,True,"1,558.3 μs",4.51 μs,4.22 μ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,18,False,"42,879.1 μs",61.32 μs,54.36 μ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,18,True,128.1 μs,0.71 μs,0.67 μ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,19,False,"560,825.7 μs",715.96 μs,597.86 μ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,19,True,"679,746.9 μs","5,022.34 μs","4,697.90 μ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,20,False,"117,412.5 μs",126.43 μs,112.07 μ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,20,True,"12,717.7 μs",11.25 μs,9.39 μ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 16 False 3,528,338.8 μs 3,374,503.8 μs 69,294.15 μs 52,507.02 μs 82,489.76 μs 49,115.10 μ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 16 True 377,458.7 μs 327,698.3 μs 975.99 μs 600.56 μs 815.00 μs 501.49 μ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 17 False 3,102.7 μs 2,998.1 μs 60.69 μs 6.00 μs 53.80 μs 5.01 μ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 17 True 1,593.5 μs 1,558.3 μs 6.95 μs 4.51 μs 5.80 μs 4.22 μ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 18 False 43,915.2 μs 42,879.1 μs 313.88 μs 61.32 μs 293.61 μs 54.36 μ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 18 True 139.9 μs 128.1 μs 1.99 μs 0.71 μs 1.86 μs 0.67 μ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 19 False 570,969.8 μs 560,825.7 μs 3,119.46 μs 715.96 μs 2,917.94 μs 597.86 μ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 19 True 690,794.4 μs 679,746.9 μs 5,494.15 μs 5,022.34 μs 5,139.23 μs 4,697.90 μs
10 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 20 False 118,895.5 μs 117,412.5 μs 260.48 μs 126.43 μs 230.91 μs 112.07 μs
11 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 20 True 12,892.8 μs 12,717.7 μs 35.90 μs 11.25 μs 33.58 μs 9.39 μs

View File

@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmarks.Benchmark16To20-20221225-093737</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>16</td><td>False</td><td>3,374,503.8 &mu;s</td><td>52,507.02 &mu;s</td><td>49,115.10 &mu;s</td>
</tr><tr><td>Benchmark</td><td>16</td><td>True</td><td>327,698.3 &mu;s</td><td>600.56 &mu;s</td><td>501.49 &mu;s</td>
</tr><tr><td>Benchmark</td><td>17</td><td>False</td><td>2,998.1 &mu;s</td><td>6.00 &mu;s</td><td>5.01 &mu;s</td>
</tr><tr><td>Benchmark</td><td>17</td><td>True</td><td>1,558.3 &mu;s</td><td>4.51 &mu;s</td><td>4.22 &mu;s</td>
</tr><tr><td>Benchmark</td><td>18</td><td>False</td><td>42,879.1 &mu;s</td><td>61.32 &mu;s</td><td>54.36 &mu;s</td>
</tr><tr><td>Benchmark</td><td>18</td><td>True</td><td>128.1 &mu;s</td><td>0.71 &mu;s</td><td>0.67 &mu;s</td>
</tr><tr><td>Benchmark</td><td>19</td><td>False</td><td>560,825.7 &mu;s</td><td>715.96 &mu;s</td><td>597.86 &mu;s</td>
</tr><tr><td>Benchmark</td><td>19</td><td>True</td><td>679,746.9 &mu;s</td><td>5,022.34 &mu;s</td><td>4,697.90 &mu;s</td>
</tr><tr><td>Benchmark</td><td>20</td><td>False</td><td>117,412.5 &mu;s</td><td>126.43 &mu;s</td><td>112.07 &mu;s</td>
</tr><tr><td>Benchmark</td><td>20</td><td>True</td><td>12,717.7 &mu;s</td><td>11.25 &mu;s</td><td>9.39 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -0,0 +1,22 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |---------:|---------:|---------:|
| **Benchmark** | **1** | **False** | **31.92 μs** | **0.103 μs** | **0.091 μs** |
| **Benchmark** | **1** | **True** | **31.86 μs** | **0.049 μs** | **0.044 μs** |
| **Benchmark** | **2** | **False** | **79.57 μs** | **0.094 μs** | **0.078 μs** |
| **Benchmark** | **2** | **True** | **81.06 μs** | **0.315 μs** | **0.295 μs** |
| **Benchmark** | **3** | **False** | **65.75 μs** | **0.546 μs** | **0.510 μs** |
| **Benchmark** | **3** | **True** | **31.96 μs** | **0.439 μs** | **0.411 μs** |
| **Benchmark** | **4** | **False** | **52.70 μs** | **0.155 μs** | **0.130 μs** |
| **Benchmark** | **4** | **True** | **63.71 μs** | **0.230 μs** | **0.204 μs** |
| **Benchmark** | **5** | **False** | **78.74 μs** | **0.781 μs** | **0.692 μs** |
| **Benchmark** | **5** | **True** | **91.26 μs** | **0.278 μs** | **0.247 μs** |

View File

@@ -1,11 +1,11 @@
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,1,False,32.19 μs,0.076 μs,0.067 μ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,1,True,32.07 μs,0.114 μs,0.107 μ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,2,False,79.54 μs,0.419 μs,0.392 μ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,2,True,81.04 μs,0.143 μs,0.127 μ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,3,False,67.11 μs,0.604 μs,0.565 μ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,3,True,29.12 μs,0.296 μs,0.277 μ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,4,False,53.06 μs,0.171 μs,0.160 μ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,4,True,64.65 μs,0.209 μs,0.195 μ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,5,False,78.68 μs,0.322 μs,0.252 μ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,5,True,91.09 μs,0.345 μs,0.323 μ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,1,False,31.92 μs,0.103 μs,0.091 μ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,1,True,31.86 μs,0.049 μs,0.044 μ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,2,False,79.57 μs,0.094 μs,0.078 μ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,2,True,81.06 μs,0.315 μs,0.295 μ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,3,False,65.75 μs,0.546 μs,0.510 μ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,3,True,31.96 μs,0.439 μs,0.411 μ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,4,False,52.70 μs,0.155 μs,0.130 μ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,4,True,63.71 μs,0.230 μs,0.204 μ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,5,False,78.74 μs,0.781 μs,0.692 μ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,5,True,91.26 μs,0.278 μs,0.247 μ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 1 False 32.19 μs 31.92 μs 0.076 μs 0.103 μs 0.067 μs 0.091 μ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 1 True 32.07 μs 31.86 μs 0.114 μs 0.049 μs 0.107 μs 0.044 μ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 2 False 79.54 μs 79.57 μs 0.419 μs 0.094 μs 0.392 μs 0.078 μ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 2 True 81.04 μs 81.06 μs 0.143 μs 0.315 μs 0.127 μs 0.295 μ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 3 False 67.11 μs 65.75 μs 0.604 μs 0.546 μs 0.565 μs 0.510 μ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 3 True 29.12 μs 31.96 μs 0.296 μs 0.439 μs 0.277 μs 0.411 μ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 4 False 53.06 μs 52.70 μs 0.171 μs 0.155 μs 0.160 μs 0.130 μ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 4 True 64.65 μs 63.71 μs 0.209 μs 0.230 μs 0.195 μs 0.204 μs
10 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 5 False 78.68 μs 78.74 μs 0.322 μs 0.781 μs 0.252 μs 0.692 μs
11 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 5 True 91.09 μs 91.26 μs 0.345 μs 0.278 μs 0.323 μs 0.247 μs

View File

@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmarks.Benchmark1To5-20221225-092842</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>1</td><td>False</td><td>31.92 &mu;s</td><td>0.103 &mu;s</td><td>0.091 &mu;s</td>
</tr><tr><td>Benchmark</td><td>1</td><td>True</td><td>31.86 &mu;s</td><td>0.049 &mu;s</td><td>0.044 &mu;s</td>
</tr><tr><td>Benchmark</td><td>2</td><td>False</td><td>79.57 &mu;s</td><td>0.094 &mu;s</td><td>0.078 &mu;s</td>
</tr><tr><td>Benchmark</td><td>2</td><td>True</td><td>81.06 &mu;s</td><td>0.315 &mu;s</td><td>0.295 &mu;s</td>
</tr><tr><td>Benchmark</td><td>3</td><td>False</td><td>65.75 &mu;s</td><td>0.546 &mu;s</td><td>0.510 &mu;s</td>
</tr><tr><td>Benchmark</td><td>3</td><td>True</td><td>31.96 &mu;s</td><td>0.439 &mu;s</td><td>0.411 &mu;s</td>
</tr><tr><td>Benchmark</td><td>4</td><td>False</td><td>52.70 &mu;s</td><td>0.155 &mu;s</td><td>0.130 &mu;s</td>
</tr><tr><td>Benchmark</td><td>4</td><td>True</td><td>63.71 &mu;s</td><td>0.230 &mu;s</td><td>0.204 &mu;s</td>
</tr><tr><td>Benchmark</td><td>5</td><td>False</td><td>78.74 &mu;s</td><td>0.781 &mu;s</td><td>0.692 &mu;s</td>
</tr><tr><td>Benchmark</td><td>5</td><td>True</td><td>91.26 &mu;s</td><td>0.278 &mu;s</td><td>0.247 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -0,0 +1,20 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |-------------:|------------:|------------:|
| **Benchmark** | **21** | **False** | **640.0 μs** | **4.20 μs** | **3.73 μs** |
| **Benchmark** | **21** | **True** | **579.2 μs** | **2.69 μs** | **2.38 μs** |
| **Benchmark** | **22** | **False** | **325.0 μs** | **1.48 μs** | **1.38 μs** |
| **Benchmark** | **22** | **True** | **218.2 μs** | **0.49 μs** | **0.43 μs** |
| **Benchmark** | **23** | **False** | **318,951.5 μs** | **4,809.31 μs** | **4,498.63 μs** |
| **Benchmark** | **23** | **True** | **2,715.4 μs** | **4.39 μs** | **3.43 μs** |
| **Benchmark** | **24** | **False** | **47,682.2 μs** | **44.89 μs** | **39.79 μs** |
| **Benchmark** | **24** | **True** | **15,713.4 μs** | **208.12 μs** | **173.79 μ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,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
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.0 μs,4.20 μs,3.73 μ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.2 μs,2.69 μs,2.38 μ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,325.0 μs,1.48 μs,1.38 μ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.2 μs,0.49 μs,0.43 μ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,951.5 μs","4,809.31 μs","4,498.63 μ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,715.4 μs",4.39 μs,3.43 μ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,682.2 μs",44.89 μs,39.79 μ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,713.4 μs",208.12 μs,173.79 μ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 641.1 μs 640.0 μs 1.80 μs 4.20 μs 1.69 μs 3.73 μ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 580.3 μs 579.2 μs 6.82 μs 2.69 μs 6.05 μs 2.38 μ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 323.9 μs 325.0 μs 0.66 μs 1.48 μs 0.52 μs 1.38 μ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 218.4 μs 218.2 μs 4.35 μs 0.49 μs 4.28 μs 0.43 μ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,156.3 μs 318,951.5 μs 4,910.78 μs 4,809.31 μs 4,593.55 μs 4,498.63 μ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,684.9 μs 2,715.4 μs 5.12 μs 4.39 μs 4.27 μs 3.43 μ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 47,410.3 μs 47,682.2 μs 63.64 μs 44.89 μs 56.42 μs 39.79 μ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 15,613.9 μs 15,713.4 μs 81.16 μs 208.12 μs 71.95 μs 173.79 μs

View File

@@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmarks.Benchmark21To25-20221225-094139</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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.0 &mu;s</td><td>4.20 &mu;s</td><td>3.73 &mu;s</td>
</tr><tr><td>Benchmark</td><td>21</td><td>True</td><td>579.2 &mu;s</td><td>2.69 &mu;s</td><td>2.38 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>False</td><td>325.0 &mu;s</td><td>1.48 &mu;s</td><td>1.38 &mu;s</td>
</tr><tr><td>Benchmark</td><td>22</td><td>True</td><td>218.2 &mu;s</td><td>0.49 &mu;s</td><td>0.43 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>False</td><td>318,951.5 &mu;s</td><td>4,809.31 &mu;s</td><td>4,498.63 &mu;s</td>
</tr><tr><td>Benchmark</td><td>23</td><td>True</td><td>2,715.4 &mu;s</td><td>4.39 &mu;s</td><td>3.43 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>False</td><td>47,682.2 &mu;s</td><td>44.89 &mu;s</td><td>39.79 &mu;s</td>
</tr><tr><td>Benchmark</td><td>24</td><td>True</td><td>15,713.4 &mu;s</td><td>208.12 &mu;s</td><td>173.79 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -0,0 +1,22 @@
``` ini
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
```
| Method | Day | IsPartOne | Mean | Error | StdDev |
|---------- |---- |---------- |-----------:|----------:|----------:|
| **Benchmark** | **6** | **False** | **53.708 μs** | **1.0291 μs** | **1.3015 μs** |
| **Benchmark** | **6** | **True** | **16.920 μs** | **0.1420 μs** | **0.1108 μs** |
| **Benchmark** | **7** | **False** | **442.469 μs** | **1.3215 μs** | **1.2362 μs** |
| **Benchmark** | **7** | **True** | **442.077 μs** | **1.1099 μs** | **1.0382 μs** |
| **Benchmark** | **8** | **False** | **278.609 μs** | **1.9329 μs** | **1.8080 μs** |
| **Benchmark** | **8** | **True** | **552.077 μs** | **4.2246 μs** | **3.9517 μs** |
| **Benchmark** | **9** | **False** | **877.123 μs** | **3.1055 μs** | **2.9049 μs** |
| **Benchmark** | **9** | **True** | **453.615 μs** | **1.6385 μs** | **1.5327 μs** |
| **Benchmark** | **10** | **False** | **8.216 μs** | **0.0179 μs** | **0.0150 μs** |
| **Benchmark** | **10** | **True** | **7.433 μs** | **0.0146 μs** | **0.0129 μs** |

View File

@@ -1,11 +1,11 @@
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,6,False,52.298 μs,1.0260 μs,1.8762 μ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,6,True,16.584 μs,0.1464 μs,0.1369 μ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,7,False,444.348 μs,2.6326 μs,2.4625 μ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,7,True,446.293 μs,1.9890 μs,1.8605 μ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,8,False,280.641 μs,1.2356 μs,1.1558 μ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,8,True,551.138 μs,5.4089 μs,4.5166 μ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,9,False,886.578 μs,10.4698 μs,9.7934 μ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,9,True,450.062 μs,5.8633 μs,5.4845 μ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,10,False,8.373 μs,0.0165 μs,0.0128 μ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,10,True,7.495 μs,0.0311 μs,0.0259 μ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,6,False,53.708 μs,1.0291 μs,1.3015 μ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,6,True,16.920 μs,0.1420 μs,0.1108 μ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,7,False,442.469 μs,1.3215 μs,1.2362 μ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,7,True,442.077 μs,1.1099 μs,1.0382 μ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,8,False,278.609 μs,1.9329 μs,1.8080 μ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,8,True,552.077 μs,4.2246 μs,3.9517 μ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,9,False,877.123 μs,3.1055 μs,2.9049 μ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,9,True,453.615 μs,1.6385 μs,1.5327 μ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,10,False,8.216 μs,0.0179 μs,0.0150 μ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,10,True,7.433 μs,0.0146 μs,0.0129 μ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 6 False 52.298 μs 53.708 μs 1.0260 μs 1.0291 μs 1.8762 μs 1.3015 μ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 6 True 16.584 μs 16.920 μs 0.1464 μs 0.1420 μs 0.1369 μs 0.1108 μ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 7 False 444.348 μs 442.469 μs 2.6326 μs 1.3215 μs 2.4625 μs 1.2362 μ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 7 True 446.293 μs 442.077 μs 1.9890 μs 1.1099 μs 1.8605 μs 1.0382 μ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 8 False 280.641 μs 278.609 μs 1.2356 μs 1.9329 μs 1.1558 μs 1.8080 μ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 8 True 551.138 μs 552.077 μs 5.4089 μs 4.2246 μs 4.5166 μs 3.9517 μ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 9 False 886.578 μs 877.123 μs 10.4698 μs 3.1055 μs 9.7934 μs 2.9049 μ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 9 True 450.062 μs 453.615 μs 5.8633 μs 1.6385 μs 5.4845 μs 1.5327 μs
10 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 10 False 8.373 μs 8.216 μs 0.0165 μs 0.0179 μs 0.0128 μs 0.0150 μs
11 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 10 True 7.495 μs 7.433 μs 0.0311 μs 0.0146 μs 0.0259 μs 0.0129 μs

View File

@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8' />
<title>AdventOfCode2022.App.Benchmarks.Benchmark6To10-20221225-093119</title>
<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>
BenchmarkDotNet=v0.13.2, OS=macOS 13.1 (22C65) [Darwin 22.2.0]
Apple M1 Max, 1 CPU, 10 logical and 10 physical cores
.NET SDK=7.0.100
[Host] : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD DEBUG
DefaultJob : .NET 7.0.0 (7.0.22.51805), Arm64 RyuJIT AdvSIMD
</code></pre>
<pre><code></code></pre>
<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>6</td><td>False</td><td>53.708 &mu;s</td><td>1.0291 &mu;s</td><td>1.3015 &mu;s</td>
</tr><tr><td>Benchmark</td><td>6</td><td>True</td><td>16.920 &mu;s</td><td>0.1420 &mu;s</td><td>0.1108 &mu;s</td>
</tr><tr><td>Benchmark</td><td>7</td><td>False</td><td>442.469 &mu;s</td><td>1.3215 &mu;s</td><td>1.2362 &mu;s</td>
</tr><tr><td>Benchmark</td><td>7</td><td>True</td><td>442.077 &mu;s</td><td>1.1099 &mu;s</td><td>1.0382 &mu;s</td>
</tr><tr><td>Benchmark</td><td>8</td><td>False</td><td>278.609 &mu;s</td><td>1.9329 &mu;s</td><td>1.8080 &mu;s</td>
</tr><tr><td>Benchmark</td><td>8</td><td>True</td><td>552.077 &mu;s</td><td>4.2246 &mu;s</td><td>3.9517 &mu;s</td>
</tr><tr><td>Benchmark</td><td>9</td><td>False</td><td>877.123 &mu;s</td><td>3.1055 &mu;s</td><td>2.9049 &mu;s</td>
</tr><tr><td>Benchmark</td><td>9</td><td>True</td><td>453.615 &mu;s</td><td>1.6385 &mu;s</td><td>1.5327 &mu;s</td>
</tr><tr><td>Benchmark</td><td>10</td><td>False</td><td>8.216 &mu;s</td><td>0.0179 &mu;s</td><td>0.0150 &mu;s</td>
</tr><tr><td>Benchmark</td><td>10</td><td>True</td><td>7.433 &mu;s</td><td>0.0146 &mu;s</td><td>0.0129 &mu;s</td>
</tr></tbody></table>
</body>
</html>

View File

@@ -6,8 +6,8 @@ Just `dotnet build` and `dotnet test`.
## Perf
BenchmarkDotNet reports:
* [Day 1 through Day 5](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmark1To5-report-github.md).
* [Day 6 through Day 10](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmark6To10-report-github.md).
* [Day 11 through Day 15](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmark11To15-report-github.md).
* [Day 16 through Day 20](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmark16To20-report-github.md).
* [Day 21 through Day 25](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmark21To25-report-github.md).
* [Day 1 through Day 5](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmarks.Benchmark1To5-report-github.md).
* [Day 6 through Day 10](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmarks.Benchmark6To10-report-github.md).
* [Day 11 through Day 15](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmarks.Benchmark11To15-report-github.md).
* [Day 16 through Day 20](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmarks.Benchmark16To20-report-github.md).
* [Day 21 through Day 25](./BenchmarkDotNet.Artifacts/results/AdventOfCode2022.App.Benchmarks.Benchmark21To25-report-github.md).