Você cria um pool de conexões, mas não coloca nada nele. Seu pool de conexões está vazio quando é criado, portanto, sua primeira solicitação é garantida para criar uma nova conexão e será tão lenta quanto obter uma conexão manualmente.
Tente colocar seu código em um loop, onde você obtém repetidamente uma conexão do pool. Experimente uma, cinco vezes, dez vezes e quinze vezes. Observe como os resultados mudam.
Alguns pools de conexão são compatíveis com a criação e retenção automática de um mínimo número de conexões prontas para uso, bem como um máximo . Quando o pool é inicializado, ele buscará previamente as conexões para que as primeiras chamadas não sejam atrasadas.