Hello. On Fri, Apr 23, 2010 at 9:04 AM, Patrick R. Michaud <[email protected]> wrote: > On Thu, Apr 22, 2010 at 12:59:35PM -0400, Will Coleda wrote: >> The original thread here was "string concatenation is slow". Sounds >> like RSA is a good fit for that, and everything else can be done >> outside of core and copied back in if we like it. > > RSA is a good fit only if it's also possible to quickly concatenate > RSA's. I'm not sure that's currently the case, although perhaps the > splice opcode works for this.
It is. Parrot_str_join was refactored to concatenate R*A fast. > In the case of POST::Compiler, most "concatenations" occur on CodeString > PMCs through the .emit() method. It's certainly okay to redesign emit() > internally so that it maintains the string as some other structure, > as long as when we ultimately request get_string() we get the expected > result. CodeStrings also currently expect to be 'isa String' -- that may > want to be changed into 'does string' at some point, but doing so > would likely also have a big impact on lots of existing :multi() subs. I'll work on CodeString.emit refactoring to use RSA+join. OTOH I'm not sure about overall semantics of CodeString... -- Bacek _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
