Deine WinApi-Version liest aber die gesamte Datei komplett in den Buffer.
Das wäre in AutoIt eher vergleichbar mit:
AutoIt
$iTimer = TimerInit()
$sFilename = @ScriptDir & '\!bigdata.txt'
$sData = FileRead($sFilename)
ConsoleWrite(TimerDiff($iTimer) & @CR)
So dauert das bei mir nur ca. 4 sek.
Ursprünglich ging es ja darum, dass nicht genug RAM vorhanden ist (Warum auch immer? Der TO schweigt sich ja aus.), um die Datei komplett in den Speicher zu laden.
Daraufhin dann die Version mit FileReadLine, sodass sich immer nur eine Zeile im Speicher befindet.
Aber das dann so verschiedene Ergebnisse bei dem Test rauskommen hätte ich jetzt auch nicht gedacht. ![]()