boyter · GitHub

@dbaggerman

Replaces matching of [][]byte slices with a trie / prefix tree.
Invalidates the need for pre-checking with bitmasks or otherwise.
Improves performance by ~15% in my testing:
 4 cores, master: Time (mean ± σ):      6.360 s ±  0.007 s    [User: 24.677 s, System: 0.679 s]
 4 cores, tries:  Time (mean ± σ):      5.489 s ±  0.008 s    [User: 21.145 s, System: 0.690 s]
 8 cores, master: Time (mean ± σ):      3.217 s ±  0.005 s    [User: 24.840 s, System: 0.708 s]
 8 cores, tries:  Time (mean ± σ):      2.784 s ±  0.005 s    [User: 21.270 s, System: 0.733 s]
16 cores, master: Time (mean ± σ):      1.660 s ±  0.016 s    [User: 24.936 s, System: 0.778 s]
16 cores, tries:  Time (mean ± σ):      1.446 s ±  0.014 s    [User: 21.378 s, System: 0.801 s]

Read the original on github.com ↗