Spezielle Funktionen optimieren?

8

Ich habe mich gefragt, ob es eine bestimmte Möglichkeit gibt, nur einige Funktionen zu optimieren, die in den meisten Fällen nicht debuggt werden müssen.

Beispiel: Ich habe eine 3x3-Matriximplementierung.

%Vor%

Wenn optimiert, werden die von rowAt () erstellten Kopien optimiert. Wenn jedoch nicht optimierter Code ausgeführt wird, werden zusätzliche Kopien von Vec3 erstellt, die langsameren Code erzeugen. Diese Art von Funktion muss nicht sehr oft debugged werden (normalerweise sobald sie implementiert ist und so).

Gibt es eine Möglichkeit, den Compiler nur bestimmte Funktionen optimieren zu lassen? Es gibt einige andere Anwendungsfälle (im Falle von Templates und Funktoren), was nützlich wäre.

    
user3901459 11.08.2014, 19:25
quelle

1 Antwort

8

Sie können Ihre Funktionen separat in verschiedenen .cpp -Dateien kompilieren. Für jede .cpp -Datei können Sie sie mithilfe verschiedener Parameter kompilieren, z. B. g++ -o -O3 your_need_optimized.cpp . Dann können Sie sie miteinander verknüpfen, um die ausführbaren Dateien zu erstellen.

Oder Sie können tun, wie Drew McGowen darauf hingewiesen hat, dass Sie

setzen können %Vor%

in Ihrer cpp-Datei vor der Funktion, die Sie optimieren möchten.

    
CS Pei 11.08.2014, 19:29
quelle

Tags und Links