D-Programming-Language/phobos — pull request #1969 by blackwhale (2014-02-26 18:42:00+00:00)
Title: std.uni - speed up Trie construction by factor of ~3

Take advantage of word-at-once checking for slices of bit-packed arrays in the trie.

Now it's seems to be either on par or much faster (depending on set) then the venerable std.regex internal trie.

Tiny test:
```d
import std.uni;

void main()
{
import std.regex, std.uni, std.stdio;
import std.datetime, core.memory;
import std.internal.uni_tab, std.internal.uni;
StopWatch sw;
GC.disable();
sw.start();
foreach(_; 0..1_000)
auto set = unicode.Nd;
sw.stop();
writefln("Find set - %s us", sw.peek().usecs);

auto set = unicode.Nd;
sw.reset();
sw.start();
foreach(_; 0..1_000)
auto ct1 = set.codepointSetTrie!(10, 11);
sw.stop();
writefln("Build Trie - %s us", sw.peek().usecs);

sw.reset();
sw.start();
foreach(_; 0..1_000)
auto ct2 = std.internal.uni.CodepointTrie!8(unicodeNd);
sw.stop();
writefln("Build Trie old - %s us", sw.peek().usecs);
}
```