Use Aaru.Compression.Native nuget package.

This commit is contained in:
2021-10-31 20:45:32 +00:00
parent d963fcf31c
commit d1710c9aa5
3 changed files with 304 additions and 293 deletions

View File

@@ -8,6 +8,7 @@
<ItemGroup>
<PackageReference Include="Aaru.Checksums" Version="5.3.0"/>
<PackageReference Include="Aaru.Compression" Version="5.3.0"/>
<PackageReference Include="Aaru.Compression.Native" Version="6.0.0-alpha6"/>
<PackageReference Include="BenchmarkDotNet" Version="0.13.1"/>
<PackageReference Include="DotNetZip" Version="1.15.0"/>
<PackageReference Include="SharpCompress" Version="0.29.0"/>
@@ -38,10 +39,6 @@
<Content Include="data\adc.bin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Remove="libAaru.Compression.Native.so"/>
<Content Include="libAaru.Compression.Native.so">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Remove="data\lzip.lz"/>
<Content Include="data\lzip.lz">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>

View File

@@ -1,293 +1,308 @@
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Runtime.InteropServices;
using Aaru6.Checksums;
namespace AaruBenchmark.Compression
namespace AaruBenchmark.Compression;
[SuppressMessage("ReSharper", "InconsistentNaming")]
public class AaruNative
{
public class AaruNative
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_adc_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_apple_rle_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_flac_decode_redbook_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer,
nuint src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_flac_encode_redbook_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer,
nuint src_size, uint blocksize, int do_mid_side_stereo,
int loose_mid_side_stereo, string apodization,
uint qlp_coeff_precision, int do_qlp_coeff_prec_search,
int do_exhaustive_model_search,
uint min_residual_partition_order,
uint max_residual_partition_order, string application_id,
uint application_id_len);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_lzip_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_lzip_encode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size,
int dictionary_size, int match_len_limit);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_bzip2_decode_buffer(byte[] dst_buffer, ref uint dst_size, byte[] src_buffer, uint src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_bzip2_encode_buffer(byte[] dst_buffer, ref uint dst_size, byte[] src_buffer, uint src_size,
int blockSize100k);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_lzfse_decode_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer, nuint src_size,
byte[] scratch_buffer);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_lzfse_encode_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer, nuint src_size,
byte[] scratch_buffer);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_lzma_decode_buffer(byte[] dst_buffer, ref nuint dst_size, byte[] src_buffer,
ref nuint src_size, byte[] props, nuint propsSize);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int AARU_lzma_encode_buffer(byte[] dst_buffer, ref nuint dst_size, byte[] src_buffer, nuint src_size,
byte[] outProps, ref nuint outPropsSize, int level, uint dictSize, int lc,
int lp, int pb, int fb, int numThreads);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_zstd_decode_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer, nuint src_size);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint AARU_zstd_encode_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer, nuint src_size,
int compressionLevel);
public static void AppleRle()
{
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int apple_rle_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
const int bufferSize = 32768;
byte[] input = new byte[1102];
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int adc_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
var fs = new FileStream(Path.Combine(Program.Folder, "apple_rle.bin"), FileMode.Open, FileAccess.Read);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int BZ2_bzBuffToBuffDecompress(byte[] dest, ref uint destLen, byte[] source, uint sourceLen,
int small, int verbosity);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int BZ2_bzBuffToBuffCompress(byte[] dest, ref uint destLen, byte[] source, uint sourceLen,
int blockSize100k, int verbosity, int workFactor);
byte[] output = new byte[bufferSize];
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int lzip_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size);
int realSize = AARU_apple_rle_decode_buffer(output, output.Length, input, input.Length);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int lzip_encode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size,
int dictionary_size, int match_len_limit);
if(realSize != 20960)
throw new InvalidDataException("Incorrect decompressed size");
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int LzmaUncompress(byte[] dest, ref nuint destLen, byte[] src, ref nuint srcLen, byte[] props,
nuint propsSize);
string crc = Crc32Context.Data(output, (uint)realSize, out _);
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern int LzmaCompress(byte[] dest, ref nuint destLen, byte[] src, nuint srcLen, byte[] outProps,
ref nuint outPropsSize, int level, uint dictSize, int lc, int lp, int pb, int fb,
int numThreads);
if(crc != "3525ef06")
throw new InvalidDataException("Incorrect decompressed checksum");
}
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint flac_decode_redbook_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer,
nuint src_size);
public static void ADC()
{
const int bufferSize = 327680;
byte[] input = new byte[34367];
[DllImport("libAaru.Compression.Native", SetLastError = true)]
static extern nuint flac_encode_redbook_buffer(byte[] dst_buffer, nuint dst_size, byte[] src_buffer,
nuint src_size, uint blocksize, int do_mid_side_stereo,
int loose_mid_side_stereo, string apodization,
uint qlp_coeff_precision, int do_qlp_coeff_prec_search,
int do_exhaustive_model_search,
uint min_residual_partition_order,
uint max_residual_partition_order, string application_id,
uint application_id_len);
var fs = new FileStream(Path.Combine(Program.Folder, "adc.bin"), FileMode.Open, FileAccess.Read);
public static void AppleRle()
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
int realSize = AARU_adc_decode_buffer(output, output.Length, input, input.Length);
if(realSize != 262144)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, (uint)realSize, out _);
if(crc != "5a5a7388")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void Bzip2()
{
const int bufferSize = 1048576;
byte[] input = new byte[1053934];
var fs = new FileStream(Path.Combine(Program.Folder, "bzip2.bz2"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
uint realSize = (uint)output.Length;
int bzError = AARU_bzip2_decode_buffer(output, ref realSize, input, (uint)input.Length);
if(realSize != 1048576)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, realSize, out _);
if(crc != "c64059c0")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressBzip2()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
uint cmpSize = (uint)backendBuffer.Length;
AARU_bzip2_encode_buffer(backendBuffer, ref cmpSize, decompressed, (uint)decompressed.Length, 9);
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
uint dcmpSize = (uint)compressed.Length;
AARU_bzip2_decode_buffer(compressed, ref dcmpSize, backendBuffer, cmpSize);
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
public static void Lzip()
{
const int bufferSize = 1048576;
byte[] input = new byte[1062874];
var fs = new FileStream(Path.Combine(Program.Folder, "lzip.lz"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
int realSize = AARU_lzip_decode_buffer(output, output.Length, input, input.Length);
if(realSize != 1048576)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, (uint)realSize, out _);
if(crc != "c64059c0")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressLzip()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
int cmpSize = backendBuffer.Length;
cmpSize = AARU_lzip_encode_buffer(backendBuffer, cmpSize, decompressed, decompressed.Length, 106496, 32);
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
int dcmpSize = compressed.Length;
AARU_lzip_decode_buffer(compressed, dcmpSize, backendBuffer, cmpSize);
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
public static void Lzma()
{
const int bufferSize = 8388608;
byte[] input = new byte[1200275];
var fs = new FileStream(Path.Combine(Program.Folder, "lzma.bin"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
nuint destLen = bufferSize;
nuint srcLen = 1200275;
int err = AARU_lzma_decode_buffer(output, ref destLen, input, ref srcLen, new byte[]
{
const int bufferSize = 32768;
byte[] input = new byte[1102];
0x5D, 0x00, 0x00, 0x00, 0x02
}, 5);
var fs = new FileStream(Path.Combine(Program.Folder, "apple_rle.bin"), FileMode.Open, FileAccess.Read);
if(err != 0)
throw new InvalidDataException("Error decompressing");
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
if(destLen != 8388608)
throw new InvalidDataException("Incorrect decompressed size");
byte[] output = new byte[bufferSize];
string crc = Crc32Context.Data(output, (uint)destLen, out _);
int realSize = apple_rle_decode_buffer(output, output.Length, input, input.Length);
if(crc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
}
if(realSize != 20960)
throw new InvalidDataException("Incorrect decompressed size");
public static void CompressLzma()
{
byte[] props = new byte[5];
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
nuint cmpSize = (uint)backendBuffer.Length;
nuint propsSize = (uint)props.Length;
string crc = Crc32Context.Data(output, (uint)realSize, out _);
AARU_lzma_encode_buffer(backendBuffer, ref cmpSize, decompressed, (nuint)decompressed.Length, props,
ref propsSize, 9, 1048576, 3, 0, 2, 273, 2);
if(crc != "3525ef06")
throw new InvalidDataException("Incorrect decompressed checksum");
}
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
nuint dcmpSize = (uint)compressed.Length;
AARU_lzma_decode_buffer(compressed, ref dcmpSize, backendBuffer, ref cmpSize, props, propsSize);
public static void ADC()
{
const int bufferSize = 327680;
byte[] input = new byte[34367];
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
var fs = new FileStream(Path.Combine(Program.Folder, "adc.bin"), FileMode.Open, FileAccess.Read);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
public static void Flac()
{
const int bufferSize = 9633792;
byte[] input = new byte[6534197];
byte[] output = new byte[bufferSize];
var fs = new FileStream(Path.Combine(Program.Folder, "flac.flac"), FileMode.Open, FileAccess.Read);
int realSize = adc_decode_buffer(output, output.Length, input, input.Length);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
if(realSize != 262144)
throw new InvalidDataException("Incorrect decompressed size");
byte[] output = new byte[bufferSize];
string crc = Crc32Context.Data(output, (uint)realSize, out _);
ulong realSize = AARU_flac_decode_redbook_buffer(output, (nuint)output.Length, input, (nuint)input.Length);
if(crc != "5a5a7388")
throw new InvalidDataException("Incorrect decompressed checksum");
}
if(realSize != 9633792)
throw new InvalidDataException("Incorrect decompressed size");
public static void Bzip2()
{
const int bufferSize = 1048576;
byte[] input = new byte[1053934];
string crc = Crc32Context.Data(output, (uint)realSize, out _);
var fs = new FileStream(Path.Combine(Program.Folder, "bzip2.bz2"), FileMode.Open, FileAccess.Read);
if(crc != "dfbc99bb")
throw new InvalidDataException("Incorrect decompressed checksum");
}
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
public static void CompressFlac()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "audio.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[9633792];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[9633792];
nuint cmpSize = (uint)backendBuffer.Length;
byte[] output = new byte[bufferSize];
uint realSize = (uint)output.Length;
int bzError = BZ2_bzBuffToBuffDecompress(output, ref realSize, input, (uint)input.Length, 0, 0);
if(realSize != 1048576)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, realSize, out _);
if(crc != "c64059c0")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressBzip2()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
uint cmpSize = (uint)backendBuffer.Length;
BZ2_bzBuffToBuffCompress(backendBuffer, ref cmpSize, decompressed, (uint)decompressed.Length, 9, 0, 0);
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
uint dcmpSize = (uint)compressed.Length;
BZ2_bzBuffToBuffDecompress(compressed, ref dcmpSize, backendBuffer, cmpSize, 0, 0);
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
public static void Lzip()
{
const int bufferSize = 1048576;
byte[] input = new byte[1062874];
var fs = new FileStream(Path.Combine(Program.Folder, "lzip.lz"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
int realSize = lzip_decode_buffer(output, output.Length, input, input.Length);
if(realSize != 1048576)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, (uint)realSize, out _);
if(crc != "c64059c0")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressLzip()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
int cmpSize = backendBuffer.Length;
cmpSize = lzip_encode_buffer(backendBuffer, cmpSize, decompressed, decompressed.Length, 106496, 32);
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
int dcmpSize = compressed.Length;
lzip_decode_buffer(compressed, dcmpSize, backendBuffer, cmpSize);
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
public static void Lzma()
{
const int bufferSize = 8388608;
byte[] input = new byte[1200275];
var fs = new FileStream(Path.Combine(Program.Folder, "lzma.bin"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
nuint destLen = bufferSize;
nuint srcLen = 1200275;
int err = LzmaUncompress(output, ref destLen, input, ref srcLen, new byte[]
{
0x5D, 0x00, 0x00, 0x00, 0x02
}, 5);
if(err != 0)
throw new InvalidDataException("Error decompressing");
if(destLen != 8388608)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, (uint)destLen, out _);
if(crc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressLzma()
{
byte[] props = new byte[5];
var dataStream = new FileStream(Path.Combine(Program.Folder, "data.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[8388608];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[8388608];
nuint cmpSize = (uint)backendBuffer.Length;
nuint propsSize = (uint)props.Length;
LzmaCompress(backendBuffer, ref cmpSize, decompressed, (nuint)decompressed.Length, props, ref propsSize, 9,
1048576, 3, 0, 2, 273, 2);
/* This is just to test integrity, disabled for benchmarking
byte[] compressed = new byte[decompressed.Length];
nuint dcmpSize = (uint)compressed.Length;
LzmaUncompress(compressed, ref dcmpSize, backendBuffer, ref cmpSize, props, propsSize);
string newCrc = Crc32Context.Data(compressed, (uint)compressed.Length, out _);
if(newCrc != "954bf76e")
throw new InvalidDataException("Incorrect decompressed checksum");
*/
}
public static void Flac()
{
const int bufferSize = 9633792;
byte[] input = new byte[6534197];
var fs = new FileStream(Path.Combine(Program.Folder, "flac.flac"), FileMode.Open, FileAccess.Read);
fs.Read(input, 0, input.Length);
fs.Close();
fs.Dispose();
byte[] output = new byte[bufferSize];
ulong realSize = flac_decode_redbook_buffer(output, (nuint)output.Length, input, (nuint)input.Length);
if(realSize != 9633792)
throw new InvalidDataException("Incorrect decompressed size");
string crc = Crc32Context.Data(output, (uint)realSize, out _);
if(crc != "dfbc99bb")
throw new InvalidDataException("Incorrect decompressed checksum");
}
public static void CompressFlac()
{
var dataStream = new FileStream(Path.Combine(Program.Folder, "audio.bin"), FileMode.Open, FileAccess.Read);
byte[] decompressed = new byte[9633792];
dataStream.Read(decompressed, 0, decompressed.Length);
dataStream.Close();
byte[] backendBuffer = new byte[9633792];
nuint cmpSize = (uint)backendBuffer.Length;
flac_encode_redbook_buffer(backendBuffer, cmpSize, decompressed, (nuint)decompressed.Length, 4608, 1, 0,
"partial_tukey(0/1.0/1.0)", 0, 1, 0, 0, 8, "Aaru.Compression.Native.Tests",
(uint)"Aaru.Compression.Native.Tests".Length);
}
AARU_flac_encode_redbook_buffer(backendBuffer, cmpSize, decompressed, (nuint)decompressed.Length, 4608, 1, 0,
"partial_tukey(0/1.0/1.0)", 0, 1, 0, 0, 8, "Aaru.Compression.Native.Tests",
(uint)"Aaru.Compression.Native.Tests".Length);
}
}

View File

@@ -3,42 +3,41 @@ using System.IO;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
namespace AaruBenchmark
namespace AaruBenchmark;
internal static class Program
{
internal static class Program
internal static string Folder => Path.Combine(Environment.CurrentDirectory, "data");
static void Main(string[] args)
{
internal static string Folder => Path.Combine(Environment.CurrentDirectory, "data");
var config = ManualConfig.Create(DefaultConfig.Instance);
static void Main(string[] args)
{
var config = ManualConfig.Create(DefaultConfig.Instance);
BenchmarkRunner.Run<ADCBenchs>(config);
BenchmarkRunner.Run<AppleRleBenchs>(config);
BenchmarkRunner.Run<TeleDiskLzhBenchs>(config);
BenchmarkRunner.Run<GzipBenchs>(config);
BenchmarkRunner.Run<Bzip2Benchs>(config);
BenchmarkRunner.Run<LzipBenchs>(config);
BenchmarkRunner.Run<LzmaBenchs>(config);
BenchmarkRunner.Run<FlacBenchs>(config);
BenchmarkRunner.Run<CompressGzipBenchs>(config);
BenchmarkRunner.Run<CompressBzip2Benchs>(config);
BenchmarkRunner.Run<CompressLzipBenchs>(config);
BenchmarkRunner.Run<CompressLzmaBenchs>(config);
BenchmarkRunner.Run<CompressFlacBenchs>(config);
BenchmarkRunner.Run<Adler32Benchs>(config);
BenchmarkRunner.Run<Crc16CcittBenchs>(config);
BenchmarkRunner.Run<Crc16Benchs>(config);
BenchmarkRunner.Run<Crc32Benchs>(config);
BenchmarkRunner.Run<Crc64Benchs>(config);
BenchmarkRunner.Run<Fletcher16Benchs>(config);
BenchmarkRunner.Run<Fletcher32Benchs>(config);
BenchmarkRunner.Run<Md5Benchs>(config);
BenchmarkRunner.Run<Sha1Benchs>(config);
BenchmarkRunner.Run<Sha256Benchs>(config);
BenchmarkRunner.Run<Sha384Benchs>(config);
BenchmarkRunner.Run<Sha512Benchs>(config);
BenchmarkRunner.Run<SpamSumBenchs>(config);
}
BenchmarkRunner.Run<ADCBenchs>(config);
BenchmarkRunner.Run<AppleRleBenchs>(config);
BenchmarkRunner.Run<TeleDiskLzhBenchs>(config);
BenchmarkRunner.Run<GzipBenchs>(config);
BenchmarkRunner.Run<Bzip2Benchs>(config);
BenchmarkRunner.Run<LzipBenchs>(config);
BenchmarkRunner.Run<LzmaBenchs>(config);
BenchmarkRunner.Run<FlacBenchs>(config);
BenchmarkRunner.Run<CompressGzipBenchs>(config);
BenchmarkRunner.Run<CompressBzip2Benchs>(config);
BenchmarkRunner.Run<CompressLzipBenchs>(config);
BenchmarkRunner.Run<CompressLzmaBenchs>(config);
BenchmarkRunner.Run<CompressFlacBenchs>(config);
BenchmarkRunner.Run<Adler32Benchs>(config);
BenchmarkRunner.Run<Crc16CcittBenchs>(config);
BenchmarkRunner.Run<Crc16Benchs>(config);
BenchmarkRunner.Run<Crc32Benchs>(config);
BenchmarkRunner.Run<Crc64Benchs>(config);
BenchmarkRunner.Run<Fletcher16Benchs>(config);
BenchmarkRunner.Run<Fletcher32Benchs>(config);
BenchmarkRunner.Run<Md5Benchs>(config);
BenchmarkRunner.Run<Sha1Benchs>(config);
BenchmarkRunner.Run<Sha256Benchs>(config);
BenchmarkRunner.Run<Sha384Benchs>(config);
BenchmarkRunner.Run<Sha512Benchs>(config);
BenchmarkRunner.Run<SpamSumBenchs>(config);
}
}