Releases: mwlon/pcodec
Releases · mwlon/pcodec
v0.2.4
- Made int mult detection more statistically principled, reducing false positive rate.
- Improved compression speed by sorting only partially to compute the histogram. This is 10-50% faster at default compression level, but 300+% faster at low compression levels.
- Yanked because a bug (causing a panic) was discovered right after publishing.
v0.2.3
v0.2.2
v0.2.1
v0.2.0
- API breaking changes
- Renamed
auto_[de]compress
tosimpler_compress
andsimple_decompress
. - Changed
NumberLike
andUnsignedLike => Latent
traits in various ways that will enable more data types. Technically dropped support for custom data types, but they might actually be easier than before. - Renamed
PagingSpec::ExactPageSizes
toExact
. - Now requiring a minimum Rust version of 1.73.
- Renamed
- API additions
{standalone, wrapped}::guarantee
: fast max size guarantees on standalone and wrapped compressed header, chunk meta, and file sizesDEFAULT_MAX_PAGE_N
data_types::CoreDataType
for dynamic data types, plus macros to match on them{IntMultSpec, FloatMultSpec}::Provided
variants for manual control
- Improvements
- Made compression choose a faster compression scheme for nearly-uniform data when it causes little harm to compression ratio.
- Improved various float and int mult heuristics, often increasing compression ratio.
- Increased int mult compression speed slightly.
- Satisfied MIRI, though no real bugs were found.
Python v0.1.0
- Standardized
auto_*
functions tosimple_*
- Moved standalone functionality to pcodec.standalone module
- Created pcodec.wrapped module with the essential wrapped API
Python v0.0.1
- Added compression options to
auto_compress
- Added
auto_decompress
- Documentation and a small README
- Compiled x86_64 with +bmi1,+bmi2,+avx2 instruction sets for much better performance
Python v0.0.0
Created basic standalone Python bindings for auto_compress
and simple_decompress_into
.