Mailinglisten-Archive |
Hallo, eine Textdatei mit 11 Mio Zeilen wird geoeffnet und zeilenweise eingelesen. Dabei wird eine Schleife verwendet, die jeweils 99 Zeilen einliest, fuer jede Zeile get_browser aufruft und das Ergebnis in ein Array schreibt: <?php $OUT = array(); $x = 0; while(!feof($f0)) { $agent = trim(fgets($f0, 333)); $UA = get_browser($agent); $BR = get_object_vars($UA); $browser = $BR['browser']; $n = (isset($OUT[$browser])) ? ($OUT[$browser] + 1) : 1; $OUT[$browser] = $n; $x++; echo ($x % 99 == 0) ? sprintf('% 11s', number_format($x,0,',','.')). sprintf('% 7s', number_format(count($OUT),0,',','.'))."\n" : ''; } ?> Leider braucht PHP dazu rund 2 sec pro Umlauf was auf eine Gesamtverarbeitungszeit von rund 15,5 Stunden schliessen laesst. Wie bekommt man das auf ca. 1 Stunde runter ... ? m. b. G. N. Pfeiffer --------------------- normal: 06131-1436094 Notruf: 0163-3613642 --------------------- e.o.f.
php::bar PHP Wiki - Listenarchive