$a = 1;
$c = 1;
$num = 25;
$zeit1 = time();
for( $i = 1 ; $i <= 1000000 ; $i++ )
{
($a + $c) % $num;
$c++;
}
$zeit2 = time();
print "sekunden: " . ( $zeit2 - $zeit1 ) . "\n" ;
$a = 1;
$c = 1;
$num = 25;
$zeit1 = time();
for( $i = 1 ; $i <= 1000000 ; $i++ )
{
$a + $c < $num ? $a + $c : $a + $c - $num;
$c++;
}
$zeit2 = time();
print "sekunden: " . ( $zeit2 - $zeit1 ) . "\n";
Und b) ist deutlich schneller (fast dobbelt).
Hallo!
Eine Frage an die Perl-Profis:
Ich möchte eine Funktion, die eine Zahl, die bei einen bestimmten Wert überschreitet, wieder von 0 weiterzählen lässt
$a und $num sind fix, $c wird bei jedem Schleifendurchlauf um 1 erhöht.
a) $a+$c < $num ? $a+$c : $a+$c-$num
b) ($a+$c) % $num
beides ergibt das selbe, die Frage ist, was ist schneller?
Denn das Ding ist bestandteil einer Sortierfunktion, und muss somit zig 1000 mal ausgeführt werden.