Programme avec nombreuses écritures disque... Est-ce ok ? [Résolu]

Signaler
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
-
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
-
Bonjour à tou(te)s,

Bien que je programme en VB.Net, je pose ma question dans le forum général puisqu'elle concerne une inquiétude qui n'est pas spécifique au langage.

Je code un logiciel qui s'apparente à un explorateur de fichiers, mais qui affiche des caractéristiques de fichiers .xml après conversion depuis un autre format (.bin, rien à voir avec le .bin des images de CD). La conversion est faite en appelant un autre logiciel via ligne de commande et écrit un fichier .xml sur le disque.

Donc, à chaque fois que j'ouvre un dossier dans le logiciel, il scanne tout le dossier, cherche les fichiers .bin, les convertit en .xml pour en afficher certaines propriétés, puis supprime les fichiers .xml.

Même si ce sont de relativement petits fichiers la plupart du temps (< 50 Ko), je suis soucieux que ça fasse beaucoup d'écritures sur le disque à la longue et que ce ne soit pas la bonne manière de procéder pour le hardware...


Merci d'avance pour vos réponses.

Configuration: Windows 10 / Langage : VB.NET Framework 4.7.2

4 réponses

Messages postés
579
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
16 juillet 2021
79
Bonjour,

C'est vrai que c'est dommage d'utiliser le disque pour des fichiers détruits immédiatement après. Le système écrit lui-même régulièrement des données sur disque, s'il y en a que quelques centaines par jour ça peut rester négligeable, mais au delà il faudrait éviter.

Tu peux créer tes fichiers dans un disque RAM. Sous POSIX ça existe de base, mais sous Windows je pense qu'il faut installer un driver spécifique pour gérer un disque RAM.
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
2
Merci pour l'astuce, je ne savais pas qu'il était possible de créer des disques RAM ! Mais comme tu le dis, sous Windows il faut un logiciel/driver pour le faire, donc plus compliqué pour mon programme qui a vocation à être distribué.

Enfin, j'ai réussi à contourner mon problème (voir mon message plus bas). Mais ton astuce pourra peut-être me resservir plus tard...
Messages postés
16115
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
27 juillet 2021
723
Bonjour

ce que tu peux essayer de faire c'est conserver une (ou des) preuve de changement du fichier xml (date de modification, taille, hash md5 ou autre) et ne pas réécrire le fichier bin si le xml n'a pas changer.

Si tu connais le format bin, tu peux aussi essayer de te passer du logiciel en ligne de commande en exportant directement depuis ton logiciel VB.Net. En effet, utiliser un logiciel c'est aussi un accès disque (en lecture c'est sûr mais peut-être aussi en écriture) et ça à chaque fois que tu le lances.
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
2
Justement, je ne connais pas le format .bin qui est un format propriétaire (enfin je crois), c'est pour ça que je suis obligé de passer par le logiciel de conversion fourni pas les créateurs du format.

J'ai réussi à contourner mon problème (voir mon message plus bas), mais ton idée de garder la date aurait été utile, merci !
Messages postés
16448
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 juillet 2021
880
bonjour,
tu t'inquietes d'user le disque ou de consommer trop d'électricité?
quel serai le nombre de fichiers traités pas jour, en moyenne?
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
2
Je m'inquiète surtout d'user le disque. C'est un explorateur de fichiers, donc le nombre de fichiers traités dépend de l'utilisateur. Mais il peut y avoir jusqu'à une 50aine de fichiers .bin dans un dossier, et le programme les traite un par un à chaque fois qu'on accède au dossier (même si on le quitte et y revient juste après). Il y a peut-être une optimisation à faire là-dessus...
Messages postés
26
Date d'inscription
samedi 28 janvier 2017
Statut
Membre
Dernière intervention
29 juin 2021
2
Finalement, j'ai résolu mon problème en le contournant. Je me suis rendu compte que, malgré que les fichiers d'origine .bin soient encodés de manière à empêcher la lecture, les informations qui m'étaient nécessaires sont lisibles en clair. Donc, la conversion n'est en fait pas nécessaire, j'ai gagné en temps et il n'y a plus besoin d'écrire des fichiers sur le disque.

Sinon, j'avais aussi pensé à ne convertir les fichiers qu'une seule fois par session et de les supprimer à la fermeture du programme, ce qui aurait déjà limité le nombre d'écritures.