Geohash in Golang Assembly (2018)

Geohash in Golang Assembly (2018)

Encoding starts at the high bits, consuming 5 bits of the integer geohash for each character of precision. On my system I get the following results:

This section will demonstrate a massive performance gain using floating point tricks to speed up quantization, and special instruction sets for interleaving. The vectorized implementation of interleaving also reduces to the operation, which distributes the bits of a 32-bit integer to the even positions of a 64-bit word.

Source: mmcloughlin.com