SonicDusbir
Messages postés30Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention 5 juillet 2011
-
21 janv. 2010 à 10:42
SonicDusbir
Messages postés30Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention 5 juillet 2011
-
21 janv. 2010 à 11:22
Bonjour à tous !
J'ai besoin de faire des recherches sur des fichiers XML.
Mon problème est que je n'arrive pas à avoir un temps de recherche acceptable lorsque ma recherche porte sur un très grand nombre de fichiers.
J'ai une fonction permettant de déterminer si un fichier correspond à mes critères de recherches ou non,qui lorsque le fichier correspond à la recherche, écrit dans un XML ouvert en écriture l'adresse du fichier testé.
Cette fonction est lancé via une boucle For sur tous les fichiers à tester.
Tester les fichiers les uns après les autres est donc trop lent, j'ai donc pensé à tester tous mes fichiers en même temps en faisant du multi-Thread, un thread par fichier.
Ce que je pensais faire c'était que ma boucle For me lance à chaque fois un nouveau processus executant ma fonction de test de fichier, me permettant de ne pas devoir attendre le temps du test du fichier à chaque fois.
Cela est-il donc possible ? Si oui comment ? Sinon une autre idée pour optimiser mon temps de recherche(sachant que ma fonction de test a besoin en moyenne de 2 tiers de seconde pour tester un fichier) ?
SonicDusbir
Messages postés30Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention 5 juillet 2011 21 janv. 2010 à 11:07
Autrement dit tu me propose d'indexer les fichiers.
Mais je ne peux pas faire cela, les fichiers étant modifier de manière extérieure, mon logiciel est lancé ponctuellement alors il faudrait que je met à jour le catalogue à chaque fois,et que chaque fichier contient un nombre important d'information qu'il faudrait que je recense, et qui aurait pour résultat "un catalogue" bien trop important je pense.
Pourquoi ma solution te dérange-t-elle ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
SonicDusbir
Messages postés30Date d'inscriptiondimanche 24 septembre 2006StatutMembreDernière intervention 5 juillet 2011 21 janv. 2010 à 11:22
Effectivement 10 000 thread en même temps ça peut être problematique
L'indexation ne me convient vraiment pas, car le lieu de recherche n'est pas du tout défini... Et de plus est elle peut s'effectuer sur un poste en réseau...
Il ne me reste plus qu'à améliorer les informations de ma barre de progression alors ...