[perl #60048] [BUG] [MMD] CGP Does Not Work with PCC Runcore Reentry

chromatic chromatic at wgz.org
Wed Dec 24 03:20:07 UTC 2008


On Tuesday 23 December 2008 18:47:23 Geoffrey Broadwell wrote:

> On the other hand, I'm somewhat concerned that Parrot 1.0 will either
> itself be rather slow, or will architecturally force HLL implementations
> to be slow.  While looking for the IRC discussion mentioned by Coke, I
> found the following interchange (slightly edited for clarity):
>
> <donaldh>   Hmm. Bad memory profile for rakudo. A piece of PIR that runs
>             a SQLite query and prints ~18000 rows tops out at 6 MB when
>             run with -G. The equivalent in Rakudo tops out at 1.6GB
> <chromatic> PGE/PCT/Rakudo uses more STRINGs and PMCs.  If you disable
>             garbage collection, Parrot won't reuse them.
> <donaldh>   Sure. I'm just realising how much pressure Rakudo is putting
>             on GC.
> <pmichaud>  rakudo is somewhat constrained by the architecture Parrot
>             provides, unfortunately.
>
> This interchange raised a flag for me.  Am I incorrect in seeing this as
> a problem?

Yes and no.

That has nothing to do with runcores.  The number of GCables allocated is, 
more or less, constant between runcores.

Ideally, the PIR emitted from Rakudo would be require just about as many 
GCables as hand-written PIR, but if you want to compare that, you're going to 
have to precompile Perl 6 source to PIR, so that you're not running PGE and 
PCT and seeing all of the memory they use as well.  Compare like to like.

I'm not pleased about performance numbers right now either, but the known 
problems are the multiple calling conventions conversions to compare an 
Integer PMC with anything else through MMD and our garbage collector.  (I 
suspect Parrot's calling conventions are likewise full of strange decisions.)  
You (or anyone else) is very much free to dig into that.

If removing poorly-written, undertested, undocumented, experimental code 
that's never worked quite right helps us concentrate on the important things, 
I'm all for it.

-- c


More information about the parrot-dev mailing list