Toujours pour Moebius,
Voilà, j'ai une chaine qui va contient le code d'une fonction ASM.
En fait au fur et à mesure de la lecture du code ASM (ligne par ligne), je remplis cette chaine (Chaine = Ligne + #System_EOL). Sauf que cela prend plus de 10 minutes pour un code ASM de 180 000 lignes de code.
Auriez vous une idée pour optimiser cela ?
Devrais-je passer par une zone mémoire ? Et faire un poke à chq fois ? Cela serait il vraiment plus rapide ?
Optimisation...s #2
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Optimisation...s #2
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
J'avais pas pensé à la liste chainée pour contenir le code. Bien joué, et d'aprés ce que j'ai pu voir sur mes premiers tests, c'est de la balle, lecture et ajout ultra rapide. On sent que Fred a bien retravaillé les listes chainées...gnozal a écrit :As tu essayé avec une linked list, chaque élément de la liste étant une ligne de code ?
Sinon, une zone mémoire devrait être rapide, à condition de réserver une taille assez grande dès le départ pour ne pas faire de ReAllocateMemory() à chaque nouvelle ligne de code.
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Je ne sais pas si ce code peut t'aider mais si ton code ASM est dans un fichier tu peux utiliser cette petite routine.
Code : Tout sélectionner
Fichier.s ="Nom du Fichier . extension"
OpenFile(1,Fichier)
Lg=Lof(1)
*Mem=AllocateMemory(Lg)
ReadData(1,*Mem,Lg)
CloseFile(1)
String.s = PeekS(*Mem,Lg)
Debug String
Denis
Bonne Jounée à tous
Bonne Jounée à tous
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Merci à vous deux, ca fonctionne ! Nickel, j'ai encore gagné deux minutes.
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net