phpbar.de logo

Mailinglisten-Archive

[php] eregi() ?

[php] eregi() ?

Andi Voss andi at andis.mine.nu
Mit Mar 8 16:25:47 CET 2006


Am Dienstag, 7. März 2006 10:00 schrieb Sebastian Mendel:
> huiuiui, ich bin aber wieder Arrogant heute mit meinem Nichtwissen ...
>
> habe die Quelle doch noch gefunden (wurde hier schon mal geposted)
>
> in den Kommentaren:
> http://ilia.ws/archives/12-PHP-Optimization-Tricks.html

Hi,

ich habe mal von der Seite einen Vorschlag zum Testen übernommen und etwas  
erweitert.
Jetzt weiss ich nicht, ob ich durch irgendetwas das Testscript unbrauchbar 
gemacht habe, aber wenn man dieses Script mehrmals nacheinander aufruft, so 
kommen immer wieder unterschiedliche Ergebnisse raus.
Mal ist diese Version des inkrementierens schneller, mal diese. Es gibt 
vielleicht eine Tendenz, aber auf keinen Fall ein eindeutiges Ergebnis 
zugunsten einer Version.

Testsystem ist ein Linux-Rechner, der absolut nichts zu tun hat, also es 
laufen nur systemerhaltende Prozesse.
Pentium II 350 MHz mit 300irgendwas RAM.
PHP 4.4.0

Wenn das Testscript brauchbar ist, dann... ja was dann... dann kann ich das 
Ergebnis nur so deuten, dass es zumindest in dieser Größenordnung egal ist, 
welche Methode man zum inkrementieren benutzt.
Vielleicht ändert sich das Verhalten ja noch, wenn mehr Last am Server ist, 
aber bis 1000000 Schleifendurchläufen hat sich das Ergebnis auf meinem 
Testsystem immer wieder bestätigt.

Freue mich über eure Meinung.
Gruss Andi


Das ist das Script welches ich ein wenig erweitert habe:
--------- code ---------------------
#!/usr/local/bin/php

<?php

$count = 100000;

$i = 0;
$timeparts_1 = explode( " ", microtime() );
$starttime_1 = $timeparts_1[1] . substr( $timeparts_1[0], 1 );

while ( $i < $count )
{
	++$i;
}

$timeparts_1 	= explode( " ", microtime() );
$endtime_1 		= $timeparts_1[1] . substr( $timeparts_1[0], 1 );
$time_1 		= bcsub( $endtime_1, $starttime_1, 10 );
echo "1. Time to execute: " . $time_1 . " seconds!\n";


echo "---------------------\n";


$j = 0;
$timeparts_2 	= explode(" ", microtime() );
$starttime_2 	= $timeparts_2[1] . substr( $timeparts_2[0], 1 );

while ( $j < $count )
{
	$j++;
}

$timeparts_2 	= explode( " ", microtime() );
$endtime_2 		= $timeparts_2[1] . substr( $timeparts_2[0], 1 );
$time_2 		= bcsub( $endtime_2, $starttime_2, 10 );
echo "2. Time to execute: " . $time_2 ." seconds!\n";

echo "---------------------\n";


if ( $time_1 < $time_2 )
{
	$diff = bcsub( $time_2, $time_1, 10 );
	echo "Version 1 faster\n";
	echo "Difference: " . $diff . " seconds!\n\n";
}
else
{
	$diff = bcsub( $time_1, $time_2, 10 );
	echo "Version 2 faster\n";
	echo "Difference: " . $diff . " seconds!\n\n";
}
?>

--------- code ---------------------

php::bar PHP Wiki   -   Listenarchive