You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Even with 'blosc' feature enabled, using blosc compression to write dataset does nothing for most blosc filters. Datasets written with no filter and with blosc filters were the same size. blosc_blosclz was the only one that did anything.
It took me a little bit to notice this and I only discovered this when I manually created test datasets to compare.
My assumption was that including the blosc feature makes all filters available as the enums and methods were defined, but that is not the case.
As this issue can go unnoticed easily, I thought it would be good to mention this.
These items made it confusing to diagnose.
Filters are still reported with hdf5_metno::hl::dataset::Dataset::filters()
The associated enums and methods for each filter should also not be defined if the specific filter is not available. I feel that this would make users better understand that the filter is not available.
See aldanor#273
Even with 'blosc' feature enabled, using blosc compression to write dataset does nothing for most blosc filters. Datasets written with no filter and with blosc filters were the same size.
blosc_blosclz
was the only one that did anything.It took me a little bit to notice this and I only discovered this when I manually created test datasets to compare.
My assumption was that including the
blosc
feature makes all filters available as the enums and methods were defined, but that is not the case.As this issue can go unnoticed easily, I thought it would be good to mention this.
These items made it confusing to diagnose.
hdf5_metno::hl::dataset::Dataset::filters()
hdf5_metno::filters::blosc_available()
returns trueblosc-src
is explicitly listed as dependencyI resolved the issue by explicitly listing
blosc-src
as a dependencyWhile this works, I'd prefer also not to have to explicitly list a dependency that I'm not actually using, and would rather use features like:
The associated enums and methods for each filter should also not be defined if the specific filter is not available. I feel that this would make users better understand that the filter is not available.
To Reproduce:
main.rs
Cargo.toml
Output
Fixed
Cargo.toml
Output
The text was updated successfully, but these errors were encountered: