gcc: почему не оптимизированы приведения литералов? - PullRequest
3 голосов
/ 30 января 2011

Я пишу игру для iphone на языке c, и, столкнувшись с некоторыми проблемами с производительностью, я решил использовать инструменты, чтобы проверить, где находятся узкие места, и обнаружил, что броски литералов не оптимизируются.

Например:

if(x == (float)3) {....}

работает быстрее, если я напишу это так:

if(x == 3.0f) {....}

Почему это не оптимизировано компилятором?
Я использую gcc в режиме релиза.

1 Ответ

1 голос
/ 30 января 2011

Soooorry, как говорится в комментариях, я посмотрел на объектный код и то же самое.
Инструменты XCode показывают количество потраченного времени за строкой, я вижу, это не на 100% надежно.

...