From 136ef872016baff157f321ead77f4617b5c9d4de Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 17 Oct 2021 04:47:06 +0100 Subject: [PATCH] Add benchmarks for Apple ADC decompression. --- Aaru6.Compression/ADC.cs | 164 ++++++++++++++++++ AaruBenchmark/AaruBenchmark.csproj | 4 + AaruBenchmark/Benchs.cs | 13 ++ .../Compression/Aaru6Compressions.cs | 24 +++ AaruBenchmark/Compression/AaruNative.cs | 27 +++ AaruBenchmark/Compression/SharpCompress.cs | 36 ++++ AaruBenchmark/Program.cs | 1 + AaruBenchmark/data/adc.bin | Bin 0 -> 34367 bytes Benchmarks.ods | Bin 85778 -> 86383 bytes 9 files changed, 269 insertions(+) create mode 100644 Aaru6.Compression/ADC.cs create mode 100644 AaruBenchmark/data/adc.bin diff --git a/Aaru6.Compression/ADC.cs b/Aaru6.Compression/ADC.cs new file mode 100644 index 0000000..6b4a2c8 --- /dev/null +++ b/Aaru6.Compression/ADC.cs @@ -0,0 +1,164 @@ +// +// ADC.cs +// +// Author: +// Natalia Portillo +// +// Copyright (c) 2016 © Claunia.com +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using System.Runtime.CompilerServices; + +namespace Aaru6.Compression +{ + /// Implements the Apple version of RLE + public class ADC + { + const int PLAIN = 1; + const int TWO_BYTE = 2; + const int THREE_BYTE = 3; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int GetChunkType(byte byt) => (byt & 0x80) == 0x80 + ? PLAIN + : (byt & 0x40) == 0x40 + ? THREE_BYTE + : TWO_BYTE; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int GetChunkSize(byte byt) => GetChunkType(byt) switch + { + PLAIN => (byt & 0x7F) + 1, + TWO_BYTE => ((byt & 0x3F) >> 2) + 3, + THREE_BYTE => (byt & 0x3F) + 4, + _ => -1 + }; + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int GetOffset(ReadOnlySpan chunk) => GetChunkType(chunk[0]) switch + { + PLAIN => 0, + TWO_BYTE => ((chunk[0] & 0x03) << 8) + chunk[1], + THREE_BYTE => (chunk[1] << 8) + chunk[2], + _ => -1 + }; + + /// Decompresses a byte buffer that's compressed with ADC + /// Compressed buffer + /// Buffer to hold decompressed data + /// How many bytes are stored on + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public static int DecodeBuffer(byte[] source, byte[] destination) + { + int inputPosition = 0; + int chunkSize; + int offset; + int chunkType; + int outPosition = 0; + Span temp = stackalloc byte[3]; + + while(inputPosition < source.Length) + { + byte readByte = source[inputPosition++]; + + chunkType = GetChunkType(readByte); + + switch(chunkType) + { + case PLAIN: + chunkSize = GetChunkSize(readByte); + + if(outPosition + chunkSize > destination.Length) + goto finished; + + Array.Copy(source, inputPosition, destination, outPosition, chunkSize); + outPosition += chunkSize; + inputPosition += chunkSize; + + break; + case TWO_BYTE: + chunkSize = GetChunkSize(readByte); + temp[0] = readByte; + temp[1] = source[inputPosition++]; + offset = GetOffset(temp); + + if(outPosition + chunkSize > destination.Length) + goto finished; + + if(offset == 0) + { + byte lastByte = destination[outPosition - 1]; + + for(int i = 0; i < chunkSize; i++) + { + destination[outPosition] = lastByte; + outPosition++; + } + } + else + { + for(int i = 0; i < chunkSize; i++) + { + destination[outPosition] = destination[outPosition - offset - 1]; + outPosition++; + } + } + + break; + case THREE_BYTE: + chunkSize = GetChunkSize(readByte); + temp[0] = readByte; + temp[1] = source[inputPosition++]; + temp[2] = source[inputPosition++]; + offset = GetOffset(temp); + + if(outPosition + chunkSize > destination.Length) + goto finished; + + if(offset == 0) + { + byte lastByte = destination[outPosition - 1]; + + for(int i = 0; i < chunkSize; i++) + { + destination[outPosition] = lastByte; + outPosition++; + } + } + else + { + for(int i = 0; i < chunkSize; i++) + { + destination[outPosition] = destination[outPosition - offset - 1]; + outPosition++; + } + } + + break; + } + } + + finished: + + return outPosition; + } + } +} \ No newline at end of file diff --git a/AaruBenchmark/AaruBenchmark.csproj b/AaruBenchmark/AaruBenchmark.csproj index d0cf382..d7bcd73 100644 --- a/AaruBenchmark/AaruBenchmark.csproj +++ b/AaruBenchmark/AaruBenchmark.csproj @@ -34,6 +34,10 @@ Always + + + Always + Always diff --git a/AaruBenchmark/Benchs.cs b/AaruBenchmark/Benchs.cs index b306c4e..73ba26f 100644 --- a/AaruBenchmark/Benchs.cs +++ b/AaruBenchmark/Benchs.cs @@ -28,6 +28,19 @@ namespace AaruBenchmark public void Aaru6() => Aaru6Compressions.TeleDiskLzh(); } + [SimpleJob(RuntimeMoniker.Net60)] + public class ADCBenchs + { + [Benchmark(Baseline = true)] + public void Aaru() => Compression.SharpCompress.ADC(); + + [Benchmark] + public void Aaru6() => Aaru6Compressions.ADC(); + + [Benchmark] + public void AaruNative() => Compression.AaruNative.ADC(); + } + [SimpleJob(RuntimeMoniker.Net60)] public class GzipBenchs { diff --git a/AaruBenchmark/Compression/Aaru6Compressions.cs b/AaruBenchmark/Compression/Aaru6Compressions.cs index d4c6f5e..9eee4b6 100644 --- a/AaruBenchmark/Compression/Aaru6Compressions.cs +++ b/AaruBenchmark/Compression/Aaru6Compressions.cs @@ -68,5 +68,29 @@ namespace AaruBenchmark.Compression if(crc != "22bd5d44") throw new InvalidDataException("Incorrect decompressed checksum"); } + + public static void ADC() + { + const int bufferSize = 262144; + byte[] input = new byte[34367]; + + var fs = new FileStream(Path.Combine(Program.Folder, "adc.bin"), FileMode.Open, FileAccess.Read); + + fs.Read(input, 0, input.Length); + fs.Close(); + fs.Dispose(); + + byte[] output = new byte[bufferSize]; + + int realSize = Aaru6.Compression.ADC.DecodeBuffer(input, output); + + 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"); + } } } \ No newline at end of file diff --git a/AaruBenchmark/Compression/AaruNative.cs b/AaruBenchmark/Compression/AaruNative.cs index e95a9c7..a6f09ab 100644 --- a/AaruBenchmark/Compression/AaruNative.cs +++ b/AaruBenchmark/Compression/AaruNative.cs @@ -9,6 +9,9 @@ namespace AaruBenchmark.Compression [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); + [DllImport("libAaru.Compression.Native", SetLastError = true)] + static extern int adc_decode_buffer(byte[] dst_buffer, int dst_size, byte[] src_buffer, int src_size); + public static void AppleRle() { const int bufferSize = 32768; @@ -32,5 +35,29 @@ namespace AaruBenchmark.Compression if(crc != "3525ef06") throw new InvalidDataException("Incorrect decompressed checksum"); } + + public static void ADC() + { + const int bufferSize = 327680; + byte[] input = new byte[34367]; + + var fs = new FileStream(Path.Combine(Program.Folder, "adc.bin"), FileMode.Open, FileAccess.Read); + + fs.Read(input, 0, input.Length); + fs.Close(); + fs.Dispose(); + + byte[] output = new byte[bufferSize]; + + int realSize = 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"); + } } } \ No newline at end of file diff --git a/AaruBenchmark/Compression/SharpCompress.cs b/AaruBenchmark/Compression/SharpCompress.cs index aa460be..1752efb 100644 --- a/AaruBenchmark/Compression/SharpCompress.cs +++ b/AaruBenchmark/Compression/SharpCompress.cs @@ -1,5 +1,7 @@ using System.IO; +using Aaru6.Checksums; using SharpCompress.Compressors; +using SharpCompress.Compressors.ADC; using SharpCompress.Compressors.BZip2; using SharpCompress.Compressors.Deflate; @@ -64,5 +66,39 @@ namespace AaruBenchmark.Compression str.Close(); str.Dispose(); } + + public static void ADC() + { + var _dataStream = new FileStream(Path.Combine(Program.Folder, "adc.bin"), FileMode.Open, FileAccess.Read); + Stream str = new ADCStream(_dataStream); + byte[] compressed = new byte[262144]; + int pos = 0; + int left = 262144; + bool oneZero = false; + + while(left > 0) + { + int done = str.Read(compressed, pos, left); + + if(done == 0) + { + if(oneZero) + throw new IOException("Could not read the file!"); + + oneZero = true; + } + + left -= done; + pos += done; + } + + str.Close(); + str.Dispose(); + + string crc = Crc32Context.Data(compressed, 262144, out _); + + if(crc != "5a5a7388") + throw new InvalidDataException("Incorrect decompressed checksum"); + } } } \ No newline at end of file diff --git a/AaruBenchmark/Program.cs b/AaruBenchmark/Program.cs index a071108..b25dd24 100644 --- a/AaruBenchmark/Program.cs +++ b/AaruBenchmark/Program.cs @@ -13,6 +13,7 @@ namespace AaruBenchmark { var config = ManualConfig.Create(DefaultConfig.Instance); + BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); BenchmarkRunner.Run(config); diff --git a/AaruBenchmark/data/adc.bin b/AaruBenchmark/data/adc.bin new file mode 100644 index 0000000000000000000000000000000000000000..c9074a2b90a7ca5e424a7cf8899510a61642ff6e GIT binary patch literal 34367 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 literal 0 HcmV?d00001 diff --git a/Benchmarks.ods b/Benchmarks.ods index ce467b6b4475ea57e210a65e1483c13d01f7d123..6af81aa22b900205d57d69091ea89c04a0cf14ef 100644 GIT binary patch delta 23600 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
1nl>`ZU4X!`OMnfi=sJwHXOI$2J! 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%0AO; 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