J'ai besoin d'écrire quelques données à partir d'un calcul, qui seront lues plus tard par Paraview (fichier .vtu ou vtk).
En ce qui concerne la taille du fichier, dois-je opter pour le format ASCII ou le format binaire?
J'ai besoin d'écrire quelques données à partir d'un calcul, qui seront lues plus tard par Paraview (fichier .vtu ou vtk).
En ce qui concerne la taille du fichier, dois-je opter pour le format ASCII ou le format binaire?
Si votre seul souci est la taille du fichier, alors vous voulez des fichiers binaires. Pour un exemple illustratif, supposons que vous écrivez 1 nombre à virgule flottante double précision dans un fichier. Supposons que le système de fichiers puisse gérer cela parfaitement et que le fichier, les en-têtes et le remplissage soient tous à 0.
Pour un fichier binaire, ce nombre prendrait la taille exacte du nombre en RAM, ou 8 octets.
Au format ASCII, il contiendrait:
En supposant qu'il utilise seulement 1 octet pour un caractère, c'est-à-dire 22 octets pour contenir le même nombre. Cela ne prend pas en compte les caractères requis pour se délimiter entre les nombres (généralement au moins 1). Par conséquent, la taille du fichier au format ASCII sera environ 3 fois plus grande.
Vous pouvez échanger la taille du fichier pour la précision des fichiers stockés (ne conserver que 5 à 6 chiffres dans la base), mais cela dépend de la raison pour laquelle vous les utilisez. Le principal avantage de l'ASCII est le débogage ou la production de données lisibles par l'homme.
En pratique, vous avez rarement besoin de données dans des fichiers de visualisation plus précises que, disons, 3 chiffres valides. Dans ce cas, ASCII est - peut-être surprenant - souvent plus compact que la forme binaire. Si vous songez à l'archivage, le fait de compresser ces fichiers ASCII va probablement produire les plus petits fichiers que vous puissiez obtenir.
Cela dit, Paraview lit le format VTU qui a une forme binaire compressée (basée sur XML, mais les données sont d'abord compressées libz puis codées de nouveau pour produire du texte ASCII). Sur les fichiers typiques, cela enregistre un facteur de 4 à 10. Pour les gros fichiers, c'est définitivement la voie à suivre.
la source