Mailinglisten-Archive |
Steffen Kother wrote: > ich habe mal dein Snippet für die ermittlung der Klassen eingebaut und > auch mal eine Variante mit 'ner RegEchse gemacht. Beide habe ich durch > eine 100er-Schleife gejagt (sowohl PHPEdit als auch Browser), Zeit > genommen und leider kommt der Tokenizer > deutlich schlechter weg... > Erstmal solltest du für dein Benchmark nicht microtime nicht so benutzen wie du es machst da ein String zurückgeliefert wird: http://de2.php.net/microtime Dann ist deine Klasse etwas komisch und erzeugt schon overhead, besser wäre es wenn du jede Routine in eine eigene Methode verpackst. Ich hab den Token Teil mal umgeschrieben, damit verdoppelt sich die Performance: <php> $max = count($this->Tokens); $i = 0; while(++$i < $max) { if($this->Tokens[$i][0] == T_CLASS) { while($this->Tokens[$i][0] != T_STRING) $i++; $this->Classes[] = $this->Tokens[$i][1]; } } </php> -Deine Version: 0.43065023422241 / 0.016685009002686 = 25.810608442171 -Meine Version: 0.24853014945984 / 0.019524097442627 = 12.729405299792 Aber mir persönlich ging es ja nicht um die Performance, sondern um die Möglichkeiten die sich ergeben. MfG, elias
php::bar PHP Wiki - Listenarchive