Cityhash isn't worth it over FNV-1/a in this case.

FNV-1 vs. FNV-1a is a really miniscule difference. I think FNV-1a is a tiny bit faster on some architectures.

FNV* belongs to a class of functions that are non-cryptographically-secure, but statistically well-distributed hash functions. CRC32 is not well-distributed because certain bit patterns in the input correspond directly to bit patterns in the output. FNV avoids these correspondences.

Cityhash is very similar to FNV1 in this respect. It's substantially faster for large inputs, as it takes advantage of lots of vector instructions available on very modern CPU architectures.