What's most annoying with gperf and similar tools is that they aren't really suited to applications where the set of keys is known at runtime during initialization.
There are other hash tables that use double hashing but they don't guarantee a lack of collisions. They just make them highly improbable.
It was just for fun, but in the end even ignoring the startup costs of all of that, the default performance of python's dictionary was better.