matlab hdf5 mat-file

MATLAB: diferencias entre las versiones.mat



hdf5 mat-file (1)

La versión 7.3 de los archivos MAT utiliza el formato HDF5, este formato tiene una sobrecarga de almacenamiento significativa para describir el contenido del archivo, especialmente para cellarrays y estructuras complejas anidadas. Su principal ventaja sobre las versiones anteriores de los archivos MAT es que permite almacenar datos de más de 2 GB en sistemas de 64 bits.

Tenga en cuenta que tanto v7 como v7.3 están comprimidos y usan codificación Unicode (a diferencia de v6), sin embargo, son dos formatos completamente diferentes ...

Referencias

La documentación oficial establece lo siguiente:

. Pero me he dado cuenta de que existen otras diferencias importantes además de las indicadas en la tabla anterior.

Por ejemplo, al guardar una matriz de celdas con unos 6.000 elementos que ocupan 176 MB de memoria en MATLAB, obtengo los siguientes resultados dependiendo de si uso -v7 o -v7.3 :

  • Con -v7 : Tamaño de archivo = 15 MB , y guardar y cargar es rápido .
  • Con -v7.3 : tamaño de archivo = 400 MB , y guardar y cargar es muy lento (probablemente en parte debido al gran tamaño del archivo).

¿Alguien más ha notado estas diferencias?

Actualización 1 : como señalan las respuestas, -v7.3 depende de HDF5 y según Mathworks, "este formato tiene una sobrecarga de almacenamiento significativa" , aunque no está claro si esta sobrecarga realmente se debe al formato en sí, o al MATLAB implementación y manejo de HDF5 en su lugar.

Actualización 2 : @Andrew Janke nos señala este muy útil PDF (que aparentemente no está disponible en formato HTML en la web). Para obtener más detalles, consulte los comentarios en la respuesta proporcionada por @Amro.

Todo esto me lleva a la siguiente pregunta: ¿Existen alternativas que combinen lo mejor de ambos mundos (por ejemplo, la eficiencia de -v7 y la capacidad de manejar archivos muy grandes de - v7.3 )?