Сделал несколько замеров. За одну миллисекунду функция выходит при 100 000 итераций. Если кэшировать результаты, можно улучшить производительность на порядок, до 1 000 000 итераций.

Есть мнение, кэширование тут ни к чему.