The C++ version is basically transcribed from the JavaScript version and constructs tons of temporary strings. The key improvement we made (and Go subsequently adapted) is to use tuples of Char instead for the hash tables.
I'm pretty pleased that Julia is within 10% of the Go version, and also that Go benefited from our optimization work.
