sans que je me l'explique l'operation de recherche d'une sous-chaine dans un fichier est 100x plus long si je commence par parcourir le fichier depuis la dernière ligne.
Concrètement :
si j’exécute ce script, il met un temps fou à parcourir le fichier.
Nota : sur un fichier de 1000 lignes, c'est seulement 2x plus long, environ 2scds pour parcourir le fichier de la ligne 1000 à 1
(1scd pour traiter dans le sens "normal" 1 à 1000)
par contre, j'ai l'impression que ce delta est exponentiel.
Sur mon fichier log de 50 000 lignes je parcours une journée de log en moins de 1scd si je commence par le debut du fichier, mais si je commence par la fin alors là je parcours le meme nombre de lignes en 30scds
Code : Tout sélectionner
#include<File.au3>
$mot_cle = "test"
$Fichier_log = FileOpen("c:\ressources\logon.log", 0)
If $Fichier_log = -1 Then
MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier logon.log")
Exit
EndIf
For $i= _FileCountLines("c:\ressources\logon.log") to 1 step -1
$line = FileReadLine($Fichier_log, $i-1)
consoleWrite($line & " " &$i&@CRLF)
If StringInStr($line, $mot_cle) Then
ConsoleWrite($line)
EndIf
Next
FileClose($Fichier_log)
Help