Depends on how you measure performance :)
pgagroal utilizes a lot of linux processes to track each connection state, we use coroutines packed into small number of processes.
Actually if you have a bottleneck in multithreaded pooler - something really goes wrong. The database should consume most of resources.
I'd be happy to help tuning Odyssey to someone who will bachmark both poolers (in fact there's only one number - number of worker processes..well, maybe pool_size too).
pgagroal claims performance superiority over all poolers [0]. I doubt that Odyssey was used in transaction pooling mode in those experiments.
[0] https://github.com/agroal/pgagroal/blob/master/doc/PERFORMAN...