branches/codestring

Will Coleda will at coleda.com
Fri May 14 12:32:15 UTC 2010


On Wed, May 12, 2010 at 9:29 AM, Will Coleda <will at coleda.com> wrote:
> On Wed, May 12, 2010 at 12:02 AM, Stefan O'Rear <stefanor at cox.net> wrote:
>> On Tue, May 11, 2010 at 11:18:40PM -0400, Will Coleda wrote:
>>> 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. =-)
>>
>> trunk:
>>
>> real    12m40.379s
>> user    8m26.828s
>> sys     0m16.545s
>>
>> codestring:
>>
>> real    7m7.222s
>> user    6m41.245s
>> sys     0m6.992s
>>
>> -sorear
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.9 (GNU/Linux)
>>
>> iEYEARECAAYFAkvqKEwACgkQFBz7OZ2P+dKs2ACcC4J5FiGYOP4gkdPA1F+CZb0t
>> Y7IAn0QxuxJhaNIh/5kLCQpqcxlB4vcj
>> =O+zs
>> -----END PGP SIGNATURE-----
>>
>> _______________________________________________
>> http://lists.parrot.org/mailman/listinfo/parrot-dev
>>
>>
>
> Last minute derailment on IRC. Now investigating other options
> involving a slightly new API and more radical changes.
>
> I doubt this will make it in before the next release; thankfully trunk
> is already faster building rakudo than than last release.
>
> I'll keep you posted.
>
>
> --
> Will "Coke" Coleda
>

To summarize: we were trying to preserve the API that CodeString was
providing, to avoid disruption.

Turns out that (suggested by pmichaud) some of these methods are
better located elsewhere; By splitting this out, we can just use
StringBuilder (which now has an emit-like method) for combining PIR,
add a single opcode (find_codepoint), and the rest of the methods are
now baked into PCT.

So, a few uses of CodeString in trunk were changed to StringBuilder,
and that gives us basically the same speedup and memory improvement we
were seeing in the branch.

Thanks to everyone who hacked on these bits.

There are still uses remaining of CodeString that can be updated;
We're deprecating it to force folks to switch to the faster methods
we'll be using in core. See: http://trac.parrot.org/parrot/ticket/1633

Regards.

-- 
Will "Coke" Coleda


More information about the parrot-dev mailing list