Luke Palmer clearly should, that optimizations WRT register frame stacks are possible.
The follwing numbers seem to second that:


FRAMES_PER_CHUNK   time real  user
 4                  1.2s        0.9
 8                  1.6
16                  2.3         1.4

These are runs of
 parrot -j -Oc examples/benchmarks/fib.imc
on an unoptimized built parrot on Athlon 800.

The main problem seems to be, that we are copying around a lot of memory:
16 chunks * 32 regs * 4/8 bytes

More fields for optimizations:
- regstack_copy_chunk alwyas copies a full chunk (despite of used)
- memory is allocated zeroed
- the COW flags is only reset on one user of 2 provocing even
  more unneeded ocpies.

Comments welcome,
leo



Reply via email to