Re: of Mops, jit and perl6

2002-07-30 Thread Leopold Toetsch

Dan Sugalski wrote:

> At 10:44 AM +0200 7/28/02, Leopold Toetsch wrote:
> 
>> 2) Some Mops numbers, all on i386/linux Athlon 800, slightly shortend:
>> (»make mops« in parrot root)
> 
> 
> Just out of curiosity, I presume the (rather abysmal) perl 6 numbers 
> include time to generate the assembly and assemble it--have you tried 
> running the generated code by itself as a test? (At the moment, the 
> assembler's rather slow)

No, these Mopsen are pure run time.
As Sean alredy stated, code quality is to blame.

Times for individual steps are:
$ time perl6 --imc mops.p6

real0m1.794s
user0m1.690s
sys 0m0.100s

$ time ../imcc/imcc mops.imc mops.pasm
327 lines compiled.
Compiling assembly module mops.pasm

real0m0.032s
user0m0.020s
sys 0m0.000s
[lt@thu8:~/src/parrot-007/languages/perl6]
$ time perl ../../assemble.pl mops.pasm > mops.pbc

real0m0.481s
user0m0.470s
sys 0m0.010s

This adds up to 2.3s to get a perl6 program running.
leo




Re: of Mops, jit and perl6

2002-07-30 Thread Leopold Toetsch

Dan Sugalski wrote:

> At 10:44 AM +0200 7/28/02, Leopold Toetsch wrote:
> 
>> 2) Some Mops numbers, all on i386/linux Athlon 800, slightly shortend:

> Just out of curiosity, I presume the (rather abysmal) perl 6 numbers 


After the bugfix in perlarray.pmc I can bring you new numbers, which are 
not that abysmal.

Changing the while loop in mops.p6 to:
  $I4 = $I4 - $I3  # subI4, I4, I3
-  while ($I4>0); # if I4, REDO
+  while ($I4); # if I4, REDO

(which is more correct, comparing to e.g. mops.pl)

$ time perl6 -Rj mops.p6
Iterations:100
Estimated ops: 200
Elapsed time:  1.032118
M op/s:1.937763

real0m3.357s
user0m3.190s
sys 0m0.150s

We have already the same Mops as perl5, but additionaly 2.3 seconds 
overhead. Just running the byte code is as fast as perl5.

Without jit, mops.p6 performs at 0.8 Mops.

leo




Re: [PRE-RELEASE] Release of 0.0.7 tomorrow evening

2002-07-30 Thread Tim Bunce

On Mon, Jul 22, 2002 at 11:14:15AM +0100, Sam Vilain wrote:
> "Sean O'Rourke" <[EMAIL PROTECTED]> wrote:
> 
> > languages/perl6/README sort of hides it, but it does say that "If you have
> > Perl <= 5.005_03, "$a += 3" may fail to parse."  I guess we can upgrade
> > that to "if you have < 5.6, you lose".
> 
> I notice that DBI no longer supports Perl releases <5.6.

Not true. The DBI supports 5.5.3.

The most recent release announcement did say:

  NOTE: Future versions of the DBI may not support for perl 5.5 much longer.
  : If you are still using perl 5.005_03 you should be making plans to
  : upgrade to at least perl 5.6.1, or 5.8.0. Perl 5.8.0 is due to be
  : released in the next week or so.  (Although it's a "point 0" release,
  : it is the most throughly tested release ever.)

But that's just a "shot across the bows" alerting people to think about
upgrading. I'm unlikely to actually require 5.6.1 for quite some time yet.

Tim.



Re: of Mops, jit and perl6

2002-07-30 Thread Melvin Smith

At 10:23 AM 7/30/2002 +0200, Leopold Toetsch wrote:
>Dan Sugalski wrote:
>>Just out of curiosity, I presume the (rather abysmal) perl 6 numbers
>We have already the same Mops as perl5, but additionaly 2.3 seconds 
>overhead. Just running the byte code is as fast as perl5.
>
>Without jit, mops.p6 performs at 0.8 Mops.

While I don't mind worrying about the compile time numbers, it is probably
way, way too early to be placing any value on MOPS numbers. We just
barely got a compiler patched together with gum and tape before TPC
and the code generated is t-t-t-terrible. Some of it is Sean's frontend
and some is my backend. Toss in the fact that the VM still unoptimized
in many areas and we basically have a LOT of work cut out for us.

So lets archive these numbers, and see how much we can improve on them
and not get too depressed. :)

[Both the front and back end compilers are apt to be rewritten anyway]

-Melvin