Mailinglisten-Archive |
Hallo Norbert, > es geht immer noch um die Logfiles. > Teste gerade zwei Methoden zum Einlesen: > > a - per include($file); > Zeilenformat: > "<? $A = array('a'=>'valA','b'=>'valB',...,'z'=>'valZ'); ?>" > > a - via $IN = file($file); > foreach($IN as $line) { eval($line); } > Zeilenformat: > "$A = array('a'=>'valA','b'=>'valB',...,'z'=>'valZ');" > > 1. welche Methode ist schneller ? > 2. wie gross ist der Unterschied ? > 3. und warum ... aus dem Bauch heraus würde ich sagen, dass eval() sehr langsam ist, da dort stets dynamischer Code ausgewertet wird (theoretisch). Du kannst beim Include sicher richtig Zeit schinden, wenn du das auf mehrere Logfiles (gleicher Größe...) verteilst. Da dürfte beim Includen ein installierter PHP-Cache sicher etliche Geschwindigkeitsvorteile bringen ;-) Grüße, Niels P.S.: vielleicht solltest du mal die Zeit der "konventionellen" Logfiles (mit Tabs o.ä. getrennt) und deren Auswertung testen. Denn dort fällt ja nur der Overhead an, den du mit PHP programmierst. Bei einem include() / eval() wird immer die ganze PHP-Maschinerie in Gang gesetzt (Syntaxchecker, Parser, Laufzeitumgebung, ...)
php::bar PHP Wiki - Listenarchive