41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using API.Helpers.Builders;
|
|
using BenchmarkDotNet.Attributes;
|
|
using BenchmarkDotNet.Order;
|
|
using System;
|
|
using API.Entities.Enums;
|
|
|
|
namespace API.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");
|
|
}
|
|
}
|
|
}
|
|
}
|