Reece Wilson
d63571e4b5
[+] AuCrypto::CBC::CBCContext [+] AuFS::ReadDirRecursive [+] AuFS::DirDeleter [+] AuCrypto::PBKDF2 [+] AuCrypto::AES::CBCEncrypt [+] AuCrypto::AES::CBCDecrypt [+] AuCrypto::TDES::CBCEncrypt [+] AuCrypto::TDES::CBCDecrypt [+] Optimize read write locks [*] Added `ContextFlags = CONTEXT_ALL` to Win32 PlatformWalkCallStack
66 lines
1.4 KiB
C++
66 lines
1.4 KiB
C++
/***
|
|
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: Compression.hpp
|
|
Date: 2021-6-9
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
|
|
// Types
|
|
#include "ECompressionType.hpp"
|
|
#include "CompressionInfo.hpp"
|
|
|
|
// Legacy API
|
|
#include "StreamPipeProcessor.hpp"
|
|
|
|
// Recommended API
|
|
#include "ICompressionStream.hpp"
|
|
#include "StreamProcessor.hpp"
|
|
|
|
// Utility
|
|
#include "BasicCompression.hpp"
|
|
|
|
#include "CompressionInterceptor.hpp"
|
|
|
|
|
|
|
|
// TODO: neat comment + real world data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
Ballpark figures of real world performance:
|
|
https://www.gaia-gis.it/fossil/librasterlite2/wiki?name=benchmarks+(2019+update)
|
|
RELATIVE
|
|
Useful for compression ratio variation and realistic igors lzma decompression perf values
|
|
|
|
9th gen intel benchmark figures in MB/s:
|
|
https://github.com/lz4/lz4
|
|
|
|
Similar to above, i7 bin:
|
|
https://facebook.github.io/zstd/
|
|
|
|
LZMA -> Large packages. Sony conures. (Reliable 2.3 - 2.5. Scales all the way up to 20+. Extremely slow but scalable)
|
|
LZ4 -> Network compression and other large data streams (~4.5GB/s, 2.884 compression ratio)
|
|
ZSTD -> Standard use (~1.5GB/s to 2.5GB/s, respective compression ratios 2.4 and 2.1. Can be pushed to ~10 at around 750MB/s. Great general use. )
|
|
ZIP -> Zlib has a disgusting decompression upper limit of around 450MB/s for 2.7
|
|
*/ |