On Fri, 2004-04-23 at 14:52, Leopold Toetsch wrote:
> Aaron Sherman <[EMAIL PROTECTED]> wrote:
> 
> > What might be interesting is to compare Parrot to Parrot doing this with
> > and without a hyper-operator. That's all I was trying to say.
> 
> I'd posted that as well. Here again with an O3 build of parrot:

Oops, missed that. Thanks! I'm shocked by the difference in
performance... it makes me wonder how efficient the optimization+JIT is
when the two operations are SO different. I must simply not understand
what's going on at the lowest level here. More investigation needed on
my part, as I'm sure this will be an important point for me to
understand in later topics that I'll run into writing Parrot code.

> > As for the DOD: you have an excellent point, but it extends far beyond
> > the hyper-operators. I'm starting to think that front-ends like the
> > Python compiler or the Perl 6 compiler are going to need controls over
> > the DOD for just the reasons you cite. After all, they know when they
> > are about to start doing some large looping operation that's all highly
> > constrained with respect to allocation. It would make sense to gather
> > the resources they need, lock down DOD, do what they need to do and then
> > unlock the DOD...
> 
> Well, it's unlikely that we can expose all the details the more that
> such details may change. We could have a generalized version of such an
> operation though:
> 
>   i_need_now_x_pmcs_and_wont_dispose_any_start   100000
>   # ... deep clone code or loop
>   i_need_now_x_pmcs_and_wont_dispose_any_end
> 
> er EOPCODETOOLONG :)

Heh, yeah I getcha. It would be interesting, but as you point out it's
ugly and specialized.

>   sweep 1
>   sweepoff
>   ... deep clone or some such
>   sweepon

That I did not know about, but noticed Dan pointing it out too. I'm
still learning a lot here, and while I know it's frustrating, I hope to
condense what I learn into some usable forms (perhaps adding to the FAQ
as I suggested to Dan). I don't always agree with the two of you, but
that's not required. I just need to understand enough that I can get the
work done that I want to do, and make it efficient enough that people
actually USE it ;-)

-- 
Aaron Sherman <[EMAIL PROTECTED]>
Senior Systems Engineer and Toolsmith
"It's the sound of a satellite saying, 'get me down!'" -Shriekback


Reply via email to