Eine kleine Optimierung ist mir eingefallen. Man kann die Variable $temp komplett raus lassen. Da perl Variablen relativ langsam verarbeitet, gewinnt man damit ein wenig Zeit.
1
2
3
4
5
6
7
8
9
10
11
12
sub mandelbrot {
( $cx, $cy ) = @_;
$cy -= 0.5;
$zx = $zy = 0;
for (1 .. $MAX_ITERATIONS) {
$zx2 = $zx * $zx;
$zy2 = $zy * $zy;
return 1 if $zx2 + $zy2 > $BAILOUT;
$zx = $zx * $zy * 2 + $cx;
$zy = $zy2 - $zx2 + $cy;
}
}
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B