Skip to content

Commit ecf706a

Browse files
authored
Merge pull request #191 from EXP-code/copilot/sub-pr-183-another-one
Only apply HDF5 shuffle filter when compression is enabled
2 parents a4f1c09 + 9bef58a commit ecf706a

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

expui/BiorthBasis.cc

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5170,8 +5170,7 @@ namespace BasisClasses
51705170
if (H5compress > 0) {
51715171
unsigned int csz = sampleCounts.size();
51725172
dcpl1.add(HighFive::Chunking({csz, 1}));
5173-
// Only apply shuffle filter when Deflate compression is enabled (guaranteed by outer if)
5174-
if (H5shuffle) dcpl1.add(HighFive::Shuffle());
5173+
if (H5shuffle && H5compress > 0) dcpl1.add(HighFive::Shuffle());
51755174
dcpl1.add(HighFive::Deflate(H5compress));
51765175
}
51775176

@@ -5220,8 +5219,7 @@ namespace BasisClasses
52205219
HighFive::Chunking data_dims2{std::min<unsigned>(csz2, H5chunk), 1};
52215220

52225221
dcpl2.add(data_dims2);
5223-
// Only apply shuffle filter when compression is enabled (guaranteed by outer if)
5224-
if (H5shuffle) dcpl2.add(HighFive::Shuffle());
5222+
if (H5shuffle && (H5compress > 0 || H5szip)) dcpl2.add(HighFive::Shuffle());
52255223
if (H5szip) {
52265224
dcpl2.add(HighFive::Szip(options_mask, pixels_per_block));
52275225
} else {
@@ -5234,8 +5232,7 @@ namespace BasisClasses
52345232
HighFive::Chunking data_dims3{std::min<unsigned>(csz3, H5chunk), 1};
52355233

52365234
dcpl3.add(data_dims3);
5237-
// Only apply shuffle filter when compression is enabled (guaranteed by outer if)
5238-
if (H5shuffle) dcpl3.add(HighFive::Shuffle());
5235+
if (H5shuffle && (H5compress > 0 || H5szip)) dcpl3.add(HighFive::Shuffle());
52395236
if (H5szip) {
52405237
dcpl3.add(HighFive::Szip(options_mask, pixels_per_block));
52415238
} else {

exputil/EmpCylSL.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7385,8 +7385,7 @@ void EmpCylSL::WriteH5Cache()
73857385
// Chunking
73867386
unsigned long nx = NUMX + 1, ny = NUMY + 1;
73877387
dcpl.add(HighFive::Chunking({nx, ny}));
7388-
// Only apply shuffle filter when compression is enabled (guaranteed by outer if)
7389-
if (H5shuffle) dcpl.add(HighFive::Shuffle());
7388+
if (H5shuffle && (H5compress > 0 || H5szip)) dcpl.add(HighFive::Shuffle());
73907389
if (H5szip) {
73917390
const int options_mask = H5_SZIP_NN_OPTION_MASK;
73927391
const int pixels_per_block = 8;

src/Component.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2510,21 +2510,21 @@ void Component::write_HDF5(HighFive::Group& group, bool masses, bool IDs)
25102510
}
25112511

25122512
dcpl1.add(HighFive::Chunking(chunk));
2513-
if (H5shuffle) dcpl1.add(HighFive::Shuffle());
2513+
if (H5shuffle && H5compress > 0) dcpl1.add(HighFive::Shuffle());
25142514
dcpl1.add(HighFive::Deflate(H5compress));
25152515

25162516
dcpl3.add(HighFive::Chunking(chunk, 3));
2517-
if (H5shuffle) dcpl3.add(HighFive::Shuffle());
2517+
if (H5shuffle && H5compress > 0) dcpl3.add(HighFive::Shuffle());
25182518
dcpl3.add(HighFive::Deflate(H5compress));
25192519

25202520
if (niattrib) {
25212521
dcplI.add(HighFive::Chunking(chunk, niattrib));
2522-
if (H5shuffle) dcplI.add(HighFive::Shuffle());
2522+
if (H5shuffle && H5compress > 0) dcplI.add(HighFive::Shuffle());
25232523
dcplI.add(HighFive::Deflate(H5compress));
25242524
}
25252525
if (ndattrib) {
25262526
dcplD.add(HighFive::Chunking(chunk, ndattrib));
2527-
if (H5shuffle) dcplD.add(HighFive::Shuffle());
2527+
if (H5shuffle && H5compress > 0) dcplD.add(HighFive::Shuffle());
25282528
dcplD.add(HighFive::Deflate(H5compress));
25292529
}
25302530
}
@@ -2652,7 +2652,7 @@ void Component::write_H5(H5::Group& group)
26522652
if (H5compress) dcpl.setDeflate(H5compress);
26532653

26542654
// Enable shuffle filter
2655-
if (H5shuffle) dcpl.setShuffle();
2655+
if (H5shuffle && H5compress > 0) dcpl.setShuffle();
26562656
}
26572657

26582658
// Create dataspace

0 commit comments

Comments
 (0)