Boucle while surcharge CPU

mulot06 Messages postés 3 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 10 septembre 2004 - 10 sept. 2004 à 11:08
mulot06 Messages postés 3 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 10 septembre 2004 - 10 sept. 2004 à 14:18
Bonjour à tous,

Il se trouve que j'ai un gros problème.

Voilà, j'ai un traitement énorme à faire sur des fichiers binaires : il faut décoder, caractère par caractère, tout le fichier et afficher le résultat du décodage dans un MSFlexGrid.

Pour ce faire, j'utilise un Do While i < lenfile avec lenfile < 1Mo

J'ai essayé l'API sleep, combiné avec DoEvents, d'autres API comme GetMessage, TranslateMsg, DispatchMsg,...

Toutes les solutions que j'ai trouvé utilisent soit 100% du CPU soit 1% mais ça dure une eternité.

Est-ce que quelqu'un aurait une solution à laquelle je n'aurais pas
pensé ?

MERCI

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 sept. 2004 à 11:47
NE PAS LIRE DE FICHIER CARACTERE PAR CARACTERE

en voila une, de solution ;-)

surtout si ton fichier est petit....

Amusez-vous ! ;)
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS
0
mulot06 Messages postés 3 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 11:52
Je ne lit pas caractère par caractère, je décode caractère par caractère.
La lecture se fait en une seule fois.

C'est mon traitement qui prend du temps et/ou du CPU
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 sept. 2004 à 12:18
Faudrait voir ton algo ou au moins le cahier des charges pour se faire une idee sinon impossible de se prononcer.

ciao...
BruNews, Admin CS, MVP VC++
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
10 sept. 2004 à 12:57
Soit tu lance plusieurs thred pour y gagner un peu de temps (mais ce n'est pas garantit), soit tu optimise ton algorithme de décodage, mais à part cà, il n'y a pas grand chose à faire !

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mulot06 Messages postés 3 Date d'inscription jeudi 22 juillet 2004 Statut Membre Dernière intervention 10 septembre 2004
10 sept. 2004 à 14:18
Merci,
et étant donné qu'il n'y a pas de solution apparement simple,
je vais essayer d'optimiser mon algo

Au boulot...

:(
0
Rejoignez-nous