Unicode handling comparison
Jakob Ovrum
jakobovrum at gmail.com
Thu Nov 28 01:28:31 PST 2013
On Thursday, 28 November 2013 at 09:02:12 UTC, Walter Bright
wrote:
> Sadly, std.array is determined to decode (i.e. convert to
> dchar[]) all your strings when they are used as ranges. This
> means that all algorithms on strings will be crippled as far as
> performance goes.
>
> http://dlang.org/glossary.html#narrow strings
>
> Very, very few operations on strings need decoding. The
> decoding should have gone into a separate layer.
Decoding by default means that algorithms can work reasonably
with strings without being designed specifically for strings. The
algorithms can then later be specialized for narrow strings,
which I believe is happening for a few algorithms in
std.algorithm like substring search.
Decoding is still available as a separate layer through std.utf,
when more control over decoding is required.
More information about the Digitalmars-d
mailing list