Pcodec

Latest version: v0.3.0

Safety actively analyzes 675368 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

0.2.1

* Made public/private visibilities compatible with old Rust 1.73 behavior

0.2.0

* API breaking changes
* Renamed `auto_[de]compress` to `simpler_compress` and `simple_decompress`.
* Changed `NumberLike` and `UnsignedLike => 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` to `Exact`.
* Now requiring a minimum Rust version of 1.73.
* API additions
* `{standalone, wrapped}::guarantee`: fast max size guarantees on standalone and wrapped compressed header, chunk meta, and file sizes
* `DEFAULT_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 to `simple_*`
* 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`.

0.1.3

* Fixed a bug where small chunks could cause panics.
* Made numeric traits `Send + Sync` for each of downstream use.

0.1.2

* Slightly improved decompression speed.
* Strengthened heuristics for auto delta encoding order, improving compression ratio in some cases. Also made some performance improvements, but net change to compression speed was slightly negative.

0.1.1

* Improved standalone decompression speed ~5% by storing a size hint for the count of numbers in the whole file.
* Due to the above, was able to reduce default chunk size at no performance cost, improving compression ratio.
* Improved compression speed ~15% with optimized writer logic.
* Substantially increased compression and decompression speed in special cases when steps can be skipped.

0.1.0

* Breaking changes
* format: replaced GCD mode with int mult mode. This simplifies the format (is very similar to float mult mode) and is more robust in the ways we care about. However, GCD-encoded data from v0.0.0 will no longer be decompressible. This could have been made as a backward-compatible change, but since v0.0.0 has reasonably few downloads and GCD data is rare, I decided it was better to break it rather than keep dead old code around forever. Int mult gets 11% better compression ratio on the total_cents bench dataset than GCD did.
* API: Removed GCD-related metadata such as `Bin::gcd` and replaced configurations with int mult equivalents.
* API: Renamed `Progress.finished_page` to `Progress.finished` since it sometimes refers to different units.
* Improved decompression speed with SIMD offset reads.
* Added `standalone::simple_decompress_into`.
* Fixed a rare bug in compression that caused it to became lossy on nearly-linear sequences of floats with floating point errors.

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.