C ++ Porady dotyczące optymalizacji kodu na urządzeniach ARM

Tworzę kod C ++ dla rzeczywistości rozszerzonej na urządzeniach ARM, a optymalizacja kodu jest bardzo ważna, aby utrzymać dobrą szybkość klatek. Aby zwiększyć wydajność do maksymalnego poziomu, uważam, że ważne jest zebranie ogólnych wskazówek, które ułatwią życie kompilatorom i zmniejszą liczbę cykli programu. Wszelkie sugestie są mile widziane.

1-Unikaj kosztownych instrukcji: podział, pierwiastek kwadratowy, grzech, cos

Użyj przesunięć logicznych, aby podzielić lub pomnożyć przez 2.Pomnóż przez odwrotność, jeśli to możliwe.

2- Optymalizujwewnętrzne pętle „for”: są botleneck, więc powinniśmy unikać wykonywania wielu obliczeń, zwłaszcza podziałów, pierwiastków kwadratowych ..

3- ZastosowanieTabele wyszukiwania dla niektórych funkcji matematycznych (grzech, cos, ...)

UŻYTECZNE NARZĘDZIA

objdump: pobiera kod zespołu skompilowanego programu. Pozwala to porównać dwie funkcje i sprawdzić, czy jest naprawdę zoptymalizowana.

questionAnswers(2)

yourAnswerToTheQuestion