using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Order; using Kavita.Models.Entities.Enums; using Kavita.Services.Builders; namespace Kavita.Benchmark { [StopOnFirstError] [MemoryDiagnoser] [RankColumn] [Orderer(SummaryOrderPolicy.FastestToSlowest)] [SimpleJob(launchCount: 1, warmupCount: 5, invocationCount: 20)] public class KoreaderHashBenchmark { private const string sourceEpub = "./Data/AesopsFables.epub"; [Benchmark(Baseline = true)] public void TestBuildManga_baseline() { var file = new MangaFileBuilder(sourceEpub, MangaFormat.Epub) .Build(); if (file == null) { throw new Exception("Failed to build manga file"); } } [Benchmark] public void TestBuildManga_withHash() { var file = new MangaFileBuilder(sourceEpub, MangaFormat.Epub) .WithHash() .Build(); if (file == null) { throw new Exception("Failed to build manga file"); } } } }