Programme avec nombreuses écritures disque... Est-ce ok ?

Résolu/Fermé
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 - Modifié le 24 juin 2021 à 17:15
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 - 25 juin 2021 à 13:03
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
A voir également:

4 réponses

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
25 juin 2021 à 08:15
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.
1
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 6
25 juin 2021 à 12:59
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...
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
25 juin 2021 à 10:11
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.
1
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 6
25 juin 2021 à 13:03
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 !
0
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
24 juin 2021 à 19:03
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?
0
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 6
24 juin 2021 à 19:38
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...
0
Lus0rius Messages postés 26 Date d'inscription samedi 28 janvier 2017 Statut Membre Dernière intervention 29 juin 2021 6
25 juin 2021 à 12:55
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.
0