Leser: 55
2009-05-21T12:40:54 GwenDragonIst ein mit Rakudo erstelltes Perl6 vielleicht schneller?
2009-06-01T11:22:35 GwenDragonDa muss ich also noch damit leben, beim Testen ein etwas behäbiges Perl 6 zu verwenden.
2009-06-01T12:59:33 lichtkindim #perl6 war der blogpost nicht allzu wohlwollend aufgenommen weil normale algorithmen nich ganz so astronomisch schlechter sind.
2009-06-01T12:59:33 lichtkindaber stimmt schon die jungs bemühen sich noch die features überhaupt implementiert zu bekommen, es ist nirgends nur irgendwas optimiert.
2009-06-01T16:55:58 lichtkindparrot 1.0 bedeutet das die API für sprachentwickler ausgereift und bis 2.0 stabil bleibt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env perl6
# Neuen Typ der nur Positive Integer erlaubt
subset Int::Pos of Int where { $_ > 0 };
# itterative lösung für fibonnaci zahlen mit cache
sub fib ( Int::Pos $n ) {
# Array das bisherige ergebnise cached
state @array = ( 1, 1 );
# Cache abfragen ob die angeforderte fib zahl schonmal berechnet wurde
# und wenn ja dies zurück geben.
return @array[$n-1] if @array.exists($n-1);
# ansonsten von der letzten fib bis zur aktuellen anfrage hochrechnen
for @array.elems .. $n-1 -> $idx {
@array[$idx] = @array[$idx-2] + @array[$idx-1];
}
return @array[$n-1];
}
# Die ersten 50 Fibonacci Zahlen berechnen
for 1 .. 100 -> $num {
printf "%4d: %.0lf\n", $num, fib($num);
}
2009-05-21T12:40:54 GwenDragonIst ein mit Rakudo erstelltes Perl6 vielleicht schneller?
Aber das muss ich wohl erst selbst kompilieren oder? Oder gibt es auch irgendwo fertige Windwoss-Binaries (konnte im Web nichts finden)?