develooper Front page | perl.perl5.porters | Postings from September 2012

Re: [perl #114410] Substr giving wrong results on $1 with utf8

Thread Previous | Thread Next
Nicholas Clark
September 6, 2012 06:06
Re: [perl #114410] Substr giving wrong results on $1 with utf8
Message ID:
On Fri, Aug 31, 2012 at 08:29:48AM -0700, Father Chrysostomos via RT wrote:

> I'm also wondering whether it's even worth creating the utf8 cache to
> begin with on magical values, as it will be invalidated almost
> immediately.  It seems that the extra work to facilitate an optimisation
> actually slows things down.

I'm not sure if any code relies for performance on being able to call it
twice on the same string. I thought that pp_substr() did, but actually
that's taking advantage of the fact that the call takes two positions to

pp_index() calls sv_pos_u2b() and sv_pos_b2c() on the same SV.
I'm not sure whether (a) that matters (b) whether they can be condensed into
one call.

If no op or clearly related code path ends up calling more than one function
twice, then it seems to make most sense to avoid actually storing the cache
structure on the SV for "active" values (magic and overloading - I think
that's all of them).

Nicholas Clark

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About