explore optimized routing data structure
Short on documentation and tests, and most likely contains grievous implementation errors in the corner cases since we aren't testing for them yet, but don't want to invest any time there until we're sure we can actually make a worthwhile performance difference here.
This is a case of "replace one line of code with hundreds of lines of code" so it needs to really really be worth it!
Initial results on sseserver benchmarks:
(Full output: https://gist.github.com/mroth/03d20624af1c79344aee52cdd7008048)
Not a slam dunk. While an improvement in sparse broadcast (which is likely the dominant use case), but dense broadcast is where emojitrack-gostreamer spends a lot of it's time, so I'd want to see us stay at least neutral there, not regress, especially for the added complexity.
Next step is actually looking at the implementation for performance gotchas outside of the data structure itself.
Note to self: potentially look at https://github.com/dghubble/trie when/if revisiting this, which has a zero allocation path segmenter.