Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Parrot vs. C cagematch (Just for fun)

by tilly (Archbishop)
on Apr 07, 2005 at 21:57 UTC ( [id://445893]=note: print w/replies, xml ) Need Help??


in reply to Parrot vs. C cagematch (Just for fun)

Here is the C translated into Perl in a straightforward way:
use strict; my ($x, $y, $k, $counter); my @b = split //, " .:,;!/>)|&IH%*#"; my ($r, $i, $z, $Z, $t, $c, $C); my ($begin, $end); my $counter = 0; $begin = time; while($counter < 1000){ for ($y=30; print("\n"), $C = $y*0.1 - 1.5, $y--;) { for ($x=0; $c = $x*0.04 - 2, $z=0, $Z=0, $x++ < 75;) { for ($r=$c, $i=$C, $k=0; $t = $z*$z - $Z*$Z + $r, $Z = 2*$z*$Z + + $i, $z=$t , $k<112; $k++) { last if ($z*$z + $Z*$Z > 10); } printf ($b[$k%16]); } } $counter++; } $end = time; printf ("%d count in %ld secs \n", $counter, $end - $begin);
Note that this is going to be much slower than both Parrot and C. Without knowing much about Parrot, I'd be surprised if Perl 6 actually gets compiled to Parrot that is as efficient as the handrolled code above.

Replies are listed 'Best First'.
Re^2: Parrot vs. C cagematch (Just for fun)
by zentara (Archbishop) on Apr 08, 2005 at 11:31 UTC
    Note that this is going to be much slower than both Parrot and C. .. I'd be surprised if Perl 6 actually gets compiled to Parrot that is as efficient as the handrolled code above.

    Yes, on my machine, the perl5 version used double the parrot cpu, and near 75% longer. Maybe Perl6 will do a bit better. It does look like Inline::Parrot could replace Inline::C in some circumstances. Parrot looks easy enough to understand.


    I'm not really a human, but I play one on earth. flash japh

      Actually, there is a Perl6/Pugs version of mandel here. And Autrijus actually used this as his basis for the early Pugs->Parrot compiler. You can read more about it here.

      -stvn

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://445893]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-04-16 04:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found