diff --git a/docs/juliacon_2023/format_signature.png b/docs/juliacon_2023/images/format_signature.png similarity index 100% rename from docs/juliacon_2023/format_signature.png rename to docs/juliacon_2023/images/format_signature.png diff --git a/docs/juliacon_2023/specification_toc.png b/docs/juliacon_2023/images/specification_toc.png similarity index 100% rename from docs/juliacon_2023/specification_toc.png rename to docs/juliacon_2023/images/specification_toc.png diff --git a/docs/juliacon_2023/superblock.png b/docs/juliacon_2023/images/superblock.png similarity index 100% rename from docs/juliacon_2023/superblock.png rename to docs/juliacon_2023/images/superblock.png diff --git a/docs/juliacon_2023/juliacon_2023_presentation.md b/docs/juliacon_2023/juliacon_2023_presentation.md index 05a293ce9..4166f8814 100644 --- a/docs/juliacon_2023/juliacon_2023_presentation.md +++ b/docs/juliacon_2023/juliacon_2023_presentation.md @@ -42,7 +42,7 @@ HDF5 is used as a base for other formats The HDF5 specification is open and freely available. -![](specification_toc.png) +![width:600px](images/specification_toc.png) https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html @@ -52,7 +52,7 @@ https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html HDF5 structures are variably sized and use Bob Jenkin's Lookup3 checksum for metadata integrity. -![](superblock.png) +![width:800px](images/superblock.png) https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html#Superblock @@ -72,7 +72,7 @@ https://docs.hdfgroup.org/hdf5/v1_14/_f_m_t3.html#Superblock 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| ``` -![](format_signature.png) +![](images/format_signature.png) --- @@ -201,23 +201,9 @@ julia> h5open("mystruct.h5", "r") do h5f --- -# Compression Filter Plugin Packages - - - -Glue code written in Julia. - -* H5Zblosc.jl - Blosc.jl (Thank you, Steven G. Johnson) -* H5Zzstd.jl - CodecZstd.jl -* H5Zlz4.jl - CodecLZ4.jl -* H5Zbzip2.jl - CodecBzip2.jl -* H5Zbitshuffle.jl - ---- - # Chunking and Built-in Gzip Compression Usage - +In HDF5.jl version 0.16 we introduced a new general filter keyword allowing for the definition of filter pipelines. ```julia using HDF5 @@ -232,6 +218,22 @@ end --- +# Compression Filter Plugin Packages + + + +Glue code written in Julia. + +* H5Zblosc.jl - Blosc.jl (Thank you, Steven G. Johnson) +* H5Zzstd.jl - CodecZstd.jl +* H5Zlz4.jl - CodecLZ4.jl +* H5Zbzip2.jl - CodecBzip2.jl +* H5Zbitshuffle.jl + +Future: Let's figure out how to share these with JLD2.jl! + +--- + # Chunking and Filter Plugin Usage ```julia @@ -245,7 +247,7 @@ h5open("zstd_chunked.h5", "w", libver_bounds=v"1.12") do h5f end ``` -Future: Loading CodecZstd.jl will trigger a package extension +TODO: Use a package extension loading mechanism when CodecZstd.jl is present. --- @@ -283,6 +285,12 @@ The `_by_idx` calls are easy to use via a simple `for` loop but are very ineffic The `_iterate` calls require a C callback, `op`, and can be challenging to use but are efficient. +--- + +# New with HDF5 1.12.3 and 1.14.0: Efficient Chunk Based Iteration + + + --- # Multithreading @@ -307,4 +315,3 @@ The `_iterate` calls require a C callback, `op`, and can be challenging to use b * JLD2.jl, Julia Data Format 2, Pure Julia implementation of a subset of HDF5 --- -