Lecture de fichier texte rapide

cuq Messages postés 345 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 21 mars 2008 - 23 févr. 2005 à 14:32
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007 - 11 sept. 2005 à 19:35
bonjour,

Je travail en ce moment sur une relcture de fichier texte contenant des coordonnées de point (XYZ) . Les fichiers sont trés gros > 70Mo avec plus de 2 millions de points . En VB le temps de lecture est très lent environ 30 minutes. ( un code similaire en C = 3 minutes )

J'utilise la méthode :

Open Fichier For Input as #1

Do While not EOF(1)
Line Input #1, Données lues
Loop

Avez vous une méthode de relecture plus rapide ?

Salutations

Cuq

4 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
23 févr. 2005 à 16:04
Quoi que tu fasses, VB sera toujours beaucoup plus lent que le C.


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
23 févr. 2005 à 17:02
Je dis peut-être une c* mais il faudrait essayer avec FileSystemObject

j'en sais pas plus
0
cbnet Messages postés 176 Date d'inscription vendredi 29 octobre 2004 Statut Membre Dernière intervention 7 mars 2005
23 févr. 2005 à 18:42
J'ai l'impression que si tu ouvres un fichier en binaire et si tu le
lis avec la methode GET, ce sera plus rapide... Mais econs a raison,
quoi que tu fasses un prog en C sera toujours plus rapide, VB n'est pas
adapte a ce type de traitement
0
VBSorcier Messages postés 102 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 29 avril 2007
11 sept. 2005 à 19:35
moi j'ai le meme probleme, mais avec un fichier de 1,6 Go (oui, oui, Giga Octet), pareil avec des coordonnées XYZ,ce fichier contient le relief mondial et en plus je le dessine dans une picturebox

mais par contre je ne lit pas tout les points sinon ca mets trop de temps
et en plus ca sert a rien car mon relief une fois dessiner tient dans une picturebox de:
width=18000 et height=9000

donc meme si tout les point ne sont pas dessiné on voit pas la difference
il me faut environ 10min(voir moins) pr tout dessiner

(pour lire plus vite (ne pas lire les points), je fais des "Input line" ds le vide, j'en met un 20aine a la suite puis je reboucle, pour lire et interpreter 20 ligne + loin)

mon prog a aussi une fonction zoom+ et zoom- par contre là il me faudrai une fonction qui lit
que les points dont j'ai besoin pour la zone choisi (faire une sorte d'index) donc je vais bosser dessus

voila si quelqu'un a une solution jsui preneur

merci

a+
0
Rejoignez-nous