From 23a229364ed75ea7a061934935b260e247e03ef7 Mon Sep 17 00:00:00 2001 From: Asriel Camora Date: Sat, 11 Nov 2023 23:17:58 -0800 Subject: [PATCH] Shorted bench parameters --- Benchmark/Bench.cs | 22 ++++++++++++++++------ Benchmark/Program.cs | 8 ++++++-- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Benchmark/Bench.cs b/Benchmark/Bench.cs index d094474..8485503 100644 --- a/Benchmark/Bench.cs +++ b/Benchmark/Bench.cs @@ -3,6 +3,8 @@ using BenchmarkDotNet.Diagnostics.dotTrace; using BenchmarkDotNet.Jobs; using Craftimizer.Simulator; using Craftimizer.Solver; +using System.Security.Cryptography; +using System.Text; namespace Craftimizer.Benchmark; @@ -12,6 +14,14 @@ namespace Craftimizer.Benchmark; [DotTraceDiagnoser] public class Bench { + public record struct SHAWrapper(T Data) where T : notnull + { + public static implicit operator T(SHAWrapper wrapper) => wrapper.Data; + + public override readonly string ToString() => + Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(Data.ToString()!))); + } + private static SimulationInput[] Inputs { get; } = new SimulationInput[] { // https://craftingway.app/rotation/loud-namazu-jVe9Y // Chondrite Saw @@ -70,22 +80,22 @@ public class Bench }) }; - public static IEnumerable States => Inputs.Select(i => new SimulationState(i)); + public static IEnumerable> States => Inputs.Select(i => new SHAWrapper(new(i))); - public static IEnumerable Configs => new SolverConfig[] + public static IEnumerable> Configs => new SHAWrapper[] { - new() + new(new() { Algorithm = SolverAlgorithm.Stepwise, Iterations = 30_000, - } + }) }; [ParamsSource(nameof(States))] - public SimulationState State { get; set; } + public SHAWrapper State { get; set; } [ParamsSource(nameof(Configs))] - public SolverConfig Config { get; set; } + public SHAWrapper Config { get; set; } [Benchmark] public async Task Solve() diff --git a/Benchmark/Program.cs b/Benchmark/Program.cs index 70c6299..4ba614e 100644 --- a/Benchmark/Program.cs +++ b/Benchmark/Program.cs @@ -1,6 +1,7 @@ using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; using Craftimizer.Solver; +using ObjectLayoutInspector; namespace Craftimizer.Benchmark; @@ -63,8 +64,11 @@ internal static class Program private static async Task RunOther() { - //TypeLayout.PrintLayout>(true); - //return; + TypeLayout.PrintLayout(true); + TypeLayout.PrintLayout(true); + TypeLayout.PrintLayout(true); + TypeLayout.PrintLayout(true); + return; var input = new SimulationInput( new CharacterStats