Nicholas Clark <[EMAIL PROTECTED]> wrote:
> On Fri, May 07, 2004 at 06:57:24PM +0200, Leopold Toetsch wrote:

> I tried building with -DDISABLE_GC_DEBUG=1 and the build fails:

> ./parrot parrot-config.imc VERSION DEVEL
> parrot: src/platform.c:665: Parrot_memcpy_aligned_sse_debug: Assertion `((unsigned 
> long) d & 7) == 0' failed.

Strange. Try Configure.pl --optimize

> $ uname -a
> Linux switch.work.fotango.com 2.6.4 #2 SMP

... which works here with linux 2.2 and 2.4.

> It's the main Fotango development box, and has 4G of RAM.

Should be enough :)


>> >   0.07   1266.73     0.86  9459863     0.00     0.13  get_free_object_df
>>                              ^^^^^^^
>>
>> How big is the live data set during that test? Seems to be rather big.

> How do I best measure this?

Indirectly:)
see the <interpinfo> opcode and function or debugging output of parrot -d

> ... The line from top (without GC debug) is:

>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 31469 nick      25   0  236m  57m 173m R 99.9  1.4   0:16.64 perl                    
>                   ^^^^

That'ts huge. How much mem does the test console with perl5?


>> I don't see any reference to add_free_object, so I presume the test is
>> shuffling 9.5 M PMCs around. How much RAM has your machine?

> The PMC only used the PMC_data member to store a pointer on to a perl5
> SV body.

That's suboptimal :) Please have a look at the timings I posted a minute
ago. Stuff the pointer into PMC_struct_val(pmc) and get rid of the
C<need_ext> field in the pmc file. This will speed up things
considerable (~6 times) but, the question still remains - where are all
these live PMCs coming from. Does Ponie anchor everything so that
nothing gets collected?

Are there any significant trails of add_free_object in the profile?

> 342

That isn't much. Something is wrong.

> Nicholas Clark

leo

Reply via email to