Alembic, a data transfer format for 3D graphics, especially high end VFX, also initially started with HDF5 but found it to have low performnance and was generally a bottleneck (especially in multithreaded contexts.)<p>Luckily the authors of Alembic were smart and in their initial design abstracted out the HDF5 interface and were able to provide an alternative IO layer based on C++ STL streams.  The C++ STL streams-based interface greatly outperformed the HDF5 layer.<p>Details on that transition here:<p><a href="https:&#x2F;&#x2F;groups.google.com&#x2F;forum&#x2F;#!msg&#x2F;alembic-discussion&#x2F;FTG1HuuO_qA&#x2F;jUadpxpk3IoJ" rel="nofollow">https:&#x2F;&#x2F;groups.google.com&#x2F;forum&#x2F;#!msg&#x2F;alembic-discussion&#x2F;FTG...</a>