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