Даже 4096 вызовов ord на строке приводят к огромным потерям в производительности
Опять 25. Всё зависит от реализаций. Тупой компилятор без оптимизаций будет все эти 4096 вызовов делать,а умный интерпретатор закеширует результат исполнения и будет его каждый раз без подсчётов отдавать.