To introduce SWAR (SIMD within-a-register) techniques in go, we’ll implement the simplest thing I can think of: checking if a string is ASCII. SWAR is the technique of operating over multiple datapoints within one register of the cpu. In our case one 64-bit variable will contain 8 bytes of our string so we can process 8 bytes at a time. We’ll do this in go without any C functions or assembly.
In which I describe a new editor tool for go programmers that implements the Language Server Protocol. I’m excited to have a tool that works with my editor of choice, Sublime Text 3, and is easy to install. Recently I tried installing some go tooling for Sublime Text 3, so I could get some auto-completion happening and get information about available functions. I tried installing goSublime, but found that there was no documentation on how to install it.