[..] FileRead fait gonfler la mémoire

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nak
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 23 mai 2013 10:58
Status : Hors ligne

[..] FileRead fait gonfler la mémoire

#1

Message par nak »

Bonjour à tous,

J'utilise actuellement un code avec lequel j'ouvre plusieurs fichiers txt toutes les 5 minutes.

Code : Tout sélectionner

$Entree1 = FileRead(@ScriptDir & "\Fichier.txt")
Le problème c'est qu'à chaque lecture de ces différents fichiers txt, la mémoire utilisée par le script augmente de 100ko.

Existe t'il une fonction qui viderait cette mémoire ?

Merci

A+
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] FileRead fait gonfler la mémoire

#2

Message par jguinch »

Salut.
Tu devrais trouver ton bonheur ici.
J'ai testé, c'est impressionnant !
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
nak
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 23 mai 2013 10:58
Status : Hors ligne

Re: [..] FileRead fait gonfler la mémoire

#3

Message par nak »

Salut Jguinchard,

Je viens de tester la ligne suivante directement dans mon script.

Code : Tout sélectionner

DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
Je suis à 2,5 Mo de mémoire occupée alors que sans j'étais à 12 Mo.
Par contre je trouve qu'il y a beaucoup de variation.

J'aimerais avoir la confirmation que cette ligne n'affecte pas les autres programmes mais uniquement mon script ?

Merci

a+
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] FileRead fait gonfler la mémoire

#4

Message par mikell »

Pour être sûr, faut utiliser _ReduceMemory(@AutoItPID) ou alors la même fonction dans WinAPIEx.au3 _WinAPI_EmptyWorkingSet(0)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
alabases
Niveau 2
Niveau 2
Messages : 28
Enregistré le : dim. 03 mars 2013 11:38
Status : Hors ligne

Re: [..] FileRead fait gonfler la mémoire

#5

Message par alabases »

Si le script n'est pas tres lourd, une astuce serait de dupliquer le script en leur donnant 2 noms differents.

Dans la derniere ligne du "script1" on lance le "script2" suivi d'un "Exit"--- ce qui va exécuter le script2
Dans la derniere ligne du "script2" on lance le "script1" suivi d'un "Exit"---ce qui va relancer le script 1
>>>le programme tournera en boucle avec garantie de ne pas monopoliser la memoire.
Répondre