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