Bonjour à tous,
Je suis actuellement sur un développement mobile sur Windows CE 6 en VB.NET avec le Compact Framework 2.0. J'aimerais trouver une solution pour rechercher la présence ou non d'une référence dans un fichier local de façon instantané.
Je m'explique :
J'ai un fichier sur un serveur distant du type :
Référence1;Libellé1
Référence2;Libellé2
Référence3;Libellé3
Référence4;Libellé4
J'aimerais que quand l'utilisateur saisisse une référence puis valide, le programme vérifie si la référence se trouve ou non dans ce fichier.
Le problème est que ce fichier est très très volumineux (actuellement 630 000 lignes).
J'ai essayé plusieurs solutions avec des temps de réponse variés mais toujours trop long :
Solution 1 : Charger le fichier au démarrage dans une ArrayList et rechercher dans celle-ci => 4m34s pour le chargement et 19sec pour la recherche avec en plus la taille de la mémoire virtuelle allouée à l'application qui explose (OutOfMemoryException)
Solution 2 : Réécrire le fichier local depuis le fichier distant au démarrage et recherche LIGNE par LIGNE à la validation => 2m30s pour réécrire le fichier et 52sec pour la recherche
Solution 3 : Créer un fichier vide sur le PDA avec simplement en nom la référence puis vérification de la présence du fichier à la recherche => 13000 lignes en 37minmais une recherche en 0s, instantanée
Je voulais donc savoir si quelqu'un aurait une idée pour aboutir à des temps de réponse correct s'il vous plait ?
Serait-il possible de commencer la lecture de mon fichier à partir d'une certaine ligne ?
Merci d'avance pour avoir lu mon "pavé"
Je compte sur vous
Spfo
Partager