At 1:34 PM +0100 1/3/03, Leopold Toetsch wrote:
Dan Sugalski wrote:

At 12:52 AM +0100 1/3/03, Leopold Toetsch wrote:

Dan Sugalski wrote:

First, the resource system falls down hard when doing lots of allocations with no deallocations. It gets exponentially slower, which is a Bad Thing.

1) parrot compiled -O3 (classes/Makefile is br0ken, doesn't get CFLAGS from Configure) - but unoptimized is still faster then perl5 :-)
Odd. Not on my system. Might be a x86/PPC issue.

2) I did finetune block allocation, which did cause DOD runs too often. Memory blocks are growing too now.

3) Changed growing factor for PMCs from 4 to 1.5 and started with a bigger initial size. Growing too aggressively causes far too many PMCs allocated for programs with many live objects. Also I did introduce some (arbitrary) upper limit for pool size.
Keen, thanks.

 >>> Second, Array and its subclasses need some performance thumping, as
 they seem to come in at about half the speed of perl 5.
4) classes/perlarray.pmc was totally unoptimized (cut&paste blabla).

Figured as much. Not at all a problem, just an easy spot to get some extra performance.

But, this is not the original stress.pasm it is a worse one, more similar to the perl version (you were reusing P0 for @arr1 and @arr2, while mine does allocate new arrays leading to more live objects).

perl: 5.8.0 -Duselongdouble (which shouldn't matter here)
i386/linux, athlon 800, 256 Meg

I'll comment the changes a little bit more and

[ ] send patch
[ ] check it in?
Oh, apply it, by all means. (Though I think I see that you already have... :)
--
                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to