Kavita/API.Benchmark/CleanTitleBenchmark.cs
tjarls 28c868b46c
Parser optimization part1 (#1531)
* Optimize CleanTitle

* Optimize MangaEditionRegex

* Optimize special regexes

* Refactor manga|comic special parsing into simple tests

* Word bind the special regexps. Support additional "special" use cases.

* Updates to address PR comments

* CleanTitle benchmarking

* Use a smaller Comics Data set for benchmarking
2022-09-18 11:26:17 -07:00

27 lines
581 B
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Order;
namespace API.Benchmark;
[MemoryDiagnoser]
public class CleanTitleBenchmarks
{
private static IList<string> _names;
[GlobalSetup]
public void LoadData() => _names = File.ReadAllLines("Data/Comics.txt");
[Benchmark]
public void TestCleanTitle()
{
foreach (var name in _names)
{
Services.Tasks.Scanner.Parser.Parser.CleanTitle(name, true);
}
}
}