Dhruv has mentioned in the ASWF vfx reference platform slack channel, that the Alembic HDF5 backend has been dropped from macOS distribution for some years, and that maintenance, security, and performance concerns, prompt a desire to eliminate support for it entirely in favor of supporting only the Alembic Ogawa backend.
Further to his points, I have elaborated some background here with a proposal for your consideration.
Alembic has marked HDF5 as optional not required, ever since the introduction of Ogawa.Hereās the original notice from Steve Lavietes https://groups.google.com/g/alembic-discussion/c/FTG1HuuO_qA The reasons given then for moving beyond HDF5 were
With a few years of experience with Alembic now, itās clear we need a back-end data format that meets the following requirements:1) A simple API to easily and efficiently express the higher-level Alembic APIs without change to client code.
2) Minimal library dependencies
3) Data sharing for Alembicās de-duplication features
4) Input/output abstraction (for potentially reading from non-file sources)
5) Thread-efficient reading
6) Low overhead for small data cases
The immediate benefits were measured as
- File sizes are on average 5-15% smaller. Scenes with many small objects should see even greater reductions.
- Single-threaded reads average around 4x faster
- Multi-threaded reads can improve by 25x (relative to the same operations in the existing HDF5 back-end) on 8 core systems.
HDF5 support is further identified as implementing backwards compatibility.
Of course, weāll maintain backwards compatibility. Backwards compatibility remains another key goal of the Alembic project and as such, the ability to read and write Alembic data with the existing HDF5 back-end will continue to be supported for the foreseeable future.
He goes on to say
Itās possible to build without HDF5 but you sacrifice the ability to read older archives.
Users then go on to report results
Using HDF5 we were not able to get more than 1 fps (around 0.8), now we can play it at more than 20 (23.8 average) !
I cannot find evidence that the Alembic team has publicly discussed deprecating or removing HDF5, so the above is not meant to imply that Steve or anyone else thinks or thought HDF5 as an alembic backend should be discarded. I nonetheless present it as evidence that HDF5 was discovered to be inadequate to function as an Alembic backend from an early date, and thus Ogawa became a very successful successor.
I present the above as support for the idea that HDF5 for Alembic be removed from the reference platform moving forward. Additionally, I take a strong position that HDF5 not be a supported back end for Alembic in USD, unless a user builds the Alembic plugin themselves. A user sophisticated enough to need Alembic with HDF5 also has the sophistication to build the Alembic plugin and HDF5 itself.
Further, my strong corollary position is that Alembic with HDF5 not be a āuniversal archival targetā for use as a referenced layer in USD.
I invite discussion on this topic.