compiler-optimization

Bei der Compileroptimierung wird ein Compiler angepasst, um Laufzeit oder Objektgröße oder beides zu reduzieren. Dies kann unter Verwendung von Compiler-Argumenten (d. H. CFLAGS, LDFLAGS), Compiler-Plugins (zum Beispiel DEHYDRA) oder direkten Modifikationen an dem Compiler (wie zum Beispiel Modifizieren des Quellcodes) erreicht werden.
1
Antwort

In welchen Fällen leitet ein C ++ - Compiler keine Ausnahme ab?

Angenommen, ein C ++ - Compiler kompiliert eine Funktion, deren Definition in derselben Übersetzungseinheit wie ihr Aufruf verfügbar ist. Nehmen wir an, dass es sich nicht selbst wirft oder eine Funktion aufruft, von der es weiß, dass sie geworf...
13.11.2017, 14:03
2
Antworten

Mögliche C ++ - Compiler-Optimierung mit / ohne throw / noexcept-Funktion

Nehmen Sie die folgende Klasse an: %Vor% Ich weiß, dass dies nicht der beste Weg ist, operator= zu implementieren, aber das ist absichtlich, denn meine Frage betrifft diese beiden Zeilen: %Vor% Kann sein, dass der Compiler m_con...
09.11.2015, 13:36
1
Antwort

Seltsames Verhalten des Programms in GNU C ++ unter Verwendung von Gleitkommazahlen

Schau dir dieses Programm an: %Vor% Funktion dist gibt die Entfernung zwischen zwei Punkten zurück. A, B, C, D sind Ecken des Quadrats. Es sollte dist (A, B) == dist (B, C) == dist (C, D) == dist (D, A) == sqrt (2) sein. Und dist (A, B...
12.11.2014, 11:06
2
Antworten

Einschränkungen der gemeinsamen Unterausdruckeliminierung in C ++

Ich habe mir einen Vortrag angesehen, "Effizienz mit Algorithmen, Leistung mit Datenstrukturen ", und war überrascht von dem Kommentar, dass in: %Vor% getFooBetter() ist besser. Ich war der Überzeugung gewesen, dass ich mich darauf verla...
29.05.2015, 04:29
3
Antworten

Was bedeutet Lokalität der Datenstruktur?

Ich habe folgenden Artikel gelesen, Was jeder Programmierer über Compiler-Optimierungen wissen sollte    Es gibt noch andere wichtige Optimierungen, die derzeit über die Grenzen hinausgehen   Funktionen eines Compilers - zum Beispiel Ers...
04.02.2015, 07:10
1
Antwort

Unterdrückung der JIT-Optimierung beim Laden von Modulen (nur verwaltet)

Wenn ich einen Release-Build in VS ausführe, aber den WITH-Debugger angehängt habe. So kann ich Breakpoints setzen und die optimierte Code-Disassemblierung untersuchen. Um alle Optimierungen sehen zu können, muss ich normalerweise OHNE einen Deb...
05.03.2012, 10:02
2
Antworten

Ist VC ++ immer noch Sequentiell-konsistent?

Ich sah (die meisten) Herb Sutter ist der atmotische & lt; & gt; Waffenvideo , und ich wollte die "bedingte Sperre" mit einer Schleife innerhalb der Probe testen. Offenbar, obwohl (wenn ich richtig verstehe) der C ++ 11-Standard besagt, dass da...
19.06.2014, 17:49
3
Antworten

Unterschiedliches Verhalten des Schichtoperators mit -O2 und ohne

Ohne -O2 gibt dieser Code 84 84 aus, mit O2-Flag ist die Ausgabe 84 42 . Der Code wurde mit gcc 4.4.3. auf einer 64-Bit-Linux-Plattform kompiliert. Warum ist die Ausgabe für den folgenden Code anders? Beachten Sie, dass bei der Kompil...
04.03.2011, 15:29
3
Antworten

Wird der Compiler die Initialisierung der Collections optimieren?

Wird der Compiler diesen Code optimieren oder wird die Sammlung nach jedem Methodenaufruf initialisiert? %Vor% Wenn die Antwort negativ ist, empfehle ich, diese Lösung zu verwenden: Erstellen einer Konstante Wörterbuch in C #     
14.11.2014, 08:31
2
Antworten

Transformieren die meisten Compiler% 2 in einen Bitvergleich? Ist es wirklich schneller?

Bei der Programmierung muss oft überprüft werden, ob eine Zahl ungerade oder gerade ist. Dafür verwenden wir normalerweise: %Vor% Ich verstehe jedoch, dass der Operator '%' tatsächlich eine Division ausführt und seinen Rest zurückgibt; Da...
16.08.2015, 21:05