Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 7:00 PM +0100 3/22/04, Leopold Toetsch wrote:

> D'oh! (I should edit this all out but, well...) If we go with a one
> frame stack chunk then we don't have to bother with COW-ing
> *anything* with the stack. Which makes the differentiation between a
> return continuation and a regular continuation irrelevant, as they'd
> be identical.

Ok. BTW:

$ parrot tools/dev/bench_op.imc --times=1000000  'new P10, .PerlInt'
Time for 1M ins: 0.314813

$ parrot tools/dev/bench_op.imc --times=1000000  'new P10, .RetContinuation'
Time for 1M ins: 1.679647

$ parrot tools/dev/bench_op.imc --times=1000000  'new P10, .Continuation'
Time for 1M ins: 4.876401

(-O3 on Athlon 800)

I estimate a special Fat Continuation PMC at around 1 sec per Meg.

So avoiding the creation of (Ret)?Continuations at all is still a very
valuable goal IMHO.

>>What about other sub PMCs: Sub, Closure, Coroutine, Exception_Handler?

> Dunno if they're allocated often enough to warrant any extra work.
> Maybe exception handlers.

Exception handlers are derived from Continuations. All these share some
code - not much though.

leo

Reply via email to