C ++ Советы по оптимизации кода на устройствах ARM

Я разрабатывал код C ++ для дополненной реальности на устройствах ARM, и оптимизация кода очень важна для того, чтобы сохраняйте хорошую частоту кадров. Чтобы поднять эффективность до максимального уровня, я думаю, что важно собрать общие советы, которые упростить жизнь компиляторам и сократить количество циклов программы. Любое предложение приветствуется.

1- Avoid high-cost instructions: деление, квадратный корень, грех, cos

Use logical shifts to divide or multiply by 2. Multiply by the inverse when possible.

2- Оптимизироватьinner "for" loops: они узкие места, поэтому мы должны избегать многих вычислений внутри, особенно делений, квадратных корней ..

3- Использованиеlook-up tables для некоторых математических функций (sin, cos, ...)

USEFUL TOOLS

objdump: gets assembly code of compiled program. This allows to compare two functions and check if it is really optimized.

Ответы на вопрос(2)

Ваш ответ на вопрос