Code Problem

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
pokepika
Mitglied
Beiträge: 167
Registriert: 01.07.2003 15:58
Wohnort: Iserlohn [NRW]
Kontaktdaten:

Beitrag von pokepika »

hmm. also hab das ganze nochmal bearbeitet und den durchschnittszeitwert ausgegeben.

Code: Alles auswählen

<?

$var = 5000;
$tests = 1000;

###################################
echo '<b>elseif</b><br />';
###################################
for ( $i = 0; $i < $tests; $i++ )
{
	$starttime = array_sum( explode( ' ', microtime() ) );
	
	if ( $var >= 5000 ) echo '';
	elseif ( $var < 5000 ) echo '';
	elseif ( $var < 4000 ) echo '';
	elseif ( $var < 3000 ) echo '';
	elseif ( $var < 2000 ) echo '';
	elseif ( $var < 1000 ) echo '';
	
	$endtime = array_sum( explode( ' ', microtime() ) );
	$elseif_arr[] = $endtime - $starttime;
//	echo $endtime - $starttime . '<br />';
}

echo '<br /><b>' . array_sum( $elseif_arr ) / $tests . '</b>';

###################################
echo '<br><br><b>else if</b><br />';
###################################
for ( $i = 0; $i < $tests; $i++ )
{	
	$starttime = array_sum( explode( ' ', microtime() ) );
	
	if ( $var >= 5000 ) echo '';
	else if ( $var < 5000 ) echo '';
	else if ( $var < 4000 ) echo '';
	else if ( $var < 3000 ) echo '';
	else if ( $var < 2000 ) echo '';
	else if ( $var < 1000 ) echo '';
	
	$endtime = array_sum( explode( ' ', microtime() ) );
	$if_arr[] = $endtime - $starttime;
//	echo $endtime - $starttime . '<br />';
}

echo '<br /><b>' . array_sum( $if_arr ) / $tests . '</b>';
###################################
echo '<br><br><b>switch</b><br />';
###################################
for ( $i = 0; $i < $tests; $i++ )
{	
	$starttime = array_sum( explode( ' ', microtime() ) );
	
	switch ( true )
	{
		case $var >= 5000:
			echo '';
		break;
		case $var < 5000:
			echo '';
		break;
		case $var < 4000:
			echo '';
		break;
		case $var < 3000:
			echo '';
		break;
		case $var < 2000:
			echo '';
		break;
		case $var < 1000:
			echo '';
		break;
	}
	
	$endtime = array_sum( explode( ' ', microtime() ) );
	$case_arr[] = $endtime - $starttime;
//	echo $endtime - $starttime . '<br />';
}

echo '<br /><b>' . array_sum( $case_arr ) / $tests . '</b>';

###################################

?>
hoffe ihr habt jetzt nix mehr zu meckern :wink:

als ergebnis hab ich beim durchschnitt das hier:

Code: Alles auswählen

elseif: 5.2155733108521E-005
else if: 5.5082559585571E-005
switch: 5.6262016296387E-005
also recht nahe werte..
Antworten

Zurück zu „Coding & Technik“