Die Release Notes für gcc waren ein wenig auf -og vage:gcc -O0 vs. -og Kompilierung
es die Notwendigkeit für schnelle Kompilierung-Adressen und eine bessere Debug-Erfahrung, während ein vernünftiges Maß an Laufzeit bereitstellt Performance. Die Gesamterfahrung für die Entwicklung sollte besser sein als die Standardoptimierungsstufe -O0.
Enthält "Gesamterfahrung für die Entwicklung" die Kompilierzeit? Wenn ich keine Debug-Symbole benötige und mich für die Kompilierzeit optimiere, sollte ich -O0 oder -Og verwenden?
Wenn Sie keine Debugging-Symbole benötigen, sollten Sie -O0 – Akobold
verwenden. Warum nicht einfach den vollständigen Build von * Ihrem Projekt * mit * Ihrem Compiler * mit den verschiedenen Optionen und wählen Sie den schnellsten? – NPE
Wenn Sie nur an einer guten Leistung interessiert sind, ist das normale Niveau O2. O0 ist fast keine Optimierung, und es ist hauptsächlich für das Debugging (z. B. wird es nicht ungenutzten Variablen zu optimieren, wird es nicht verbessern sloppy Codierung, die leicht behoben wird, usw.). – teppic