Mailinglisten-Archive |
Aloha, 2005/12/1, Eric Binek <ich at ericbinek.de>: > ist es möglich die Performance von z.B. > $fh = fopen('file.txt', 'a'); > {schleife} > fwrite($fh, $content); > {schleife} > fclose($fh); > > zu beschleunigen? > > Oder vieleicht ne Alternative? > Am Ende kommt ne recht große Datenmenge zusammen >2 Gig. > system('echo "blahblah" > /path/file'); > probiert...das Ergebniss war net berauschend. Du vergleichst Äpfel mit Birnen ,-) Die erste Lösung hat 2 Vorteile: a) muss kein neuer Prozess erzeugt werden, b) wird in der Schleife immer nur $content an die Datei angehängt und nicht der komplette Inhalt auf einen Schlag geschrieben. Wenn du mit der 2. Lösung auf einen Schlag 2 GB Daten schreiben willst, dann brauchst du dafür mindestens 4 GB Hauptspeicher. Dazu kommt noch, daß bei system/exec/.... immer ein neuer Prozeß erzeugt wird, was einen enormen overhead produziert. Nicht umsonst versucht man ja möglichst php mit dem Apachen zusammen zu laden und vermeidet die CGI-Version, wo bei jedem Zugriff auf ein php- Script der php-Interpreter neu geladen wird. Grüße, Mathias
php::bar PHP Wiki - Listenarchive