On Mon, May 10, 2010 at 7:54 PM, Will Coleda <w...@coleda.com> wrote:
> With help from chromatic, bacek, sorear, et al. branches/codestring is
> ready for testing.
>
> The original goal of this branch was avoid the cost of doing a concat
> and a partial, small realloc as the string was built, and instead do
> it less frequently using Parrot_str_join on an RSA attribute of
> CodeString. This generated memory issues with the number of small
> strings left around, which chromatic worked around by collapse the
> CodeString in mark() before having to deal with the child strings. I
> don't this was ever as effective as trunk
>
> This branch now converts makes CodeString ISA StringBuilder, and
> funnels everything done via .emit() or concat into bacek's
> StringBuilder. This caused HUGE memory usage problems until sorear
> identified that PCC calls in nqp-rx were coercing the CodeString into
> a String, which caused clones of the StringBuilder's buffer to
> accumulate. His fix in a branch to nqp-rx is incorporated in this
> branch...
>
> ...Which now works for me a little slower than trunk in most cases,
> except for the very particular case of "ulimit -v 367001" (.35G); in
> this case, building rakudo blows up on trunk, but succeeds on the
> branch. sorear (whose machine has .35G of physical memory) reports
> better times on this branch. My testing of memory utilization is
> limited to feather (a VM with a lot of other stuff going on) as my OS
> X 10.6 shell doesn't seem to respect ulimit -v OR ulimit -m ; so I
> don't expect my results to be very helpful on either platform.
>
> Can we get some feedback from more platforms and memory configurations
> about speed and/or memory utilization on trunk vs. branch? Sorear and
> I have been testing rakudo build times, but other benchmarks are also
> interesting.
>
> If this is, in general, a win, let's get it rolled into trunk
> (including the nqp-rx update), if not, we can see if there are any
> pieces to salvage before we kill the branch.
>
> Thanks.
>
> --
> Will "Coke" Coleda
>

bacek is a magician, with the latest on branches/codestring

real    3m16.927s
user    2m59.499s
sys     0m7.863s

and trunk

real    4m41.854s
user    3m40.215s
sys     0m11.918s

So, build times are now better in branches/codestring.  I can't ssh to
feather at the moment to double check how this fares under a ulimit.

Try them both again and let us know so we can merge this back now. =-)


-- 
Will "Coke" Coleda
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to