Curious why hyperloglog was used for this? It doesn't seem like something that would require a sophisticated approach. Also, why no mutex, is this thread safe, because in a web server it's going to be called from goroutines? Have you tested it in a real server with -race?