Я пишу игру для iphone на языке c, и, столкнувшись с некоторыми проблемами с производительностью, я решил использовать инструменты, чтобы проверить, где находятся узкие места, и обнаружил, что броски литералов не оптимизируются.
Например:
if(x == (float)3) {....}
работает быстрее, если я напишу это так:
if(x == 3.0f) {....}
Почему это не оптимизировано компилятором?
Я использую gcc в режиме релиза.