Tag: compiler-optimization

Compiler Optimierung ist die Anpassung eines Compilers zu reduzieren-Laufzeit oder die Größe des Objekts oder beides. Dies kann erreicht werden, mithilfe von compiler-Argumente (d.h. CFLAGS, LDFLAGS), compiler-plugins (DEHYDRA zum Beispiel) oder direkte änderungen an den compiler (wie das ändern von Quell-code).

Deaktivieren -msse

Anzahl der Antworten 2 Antworten
Ich versuche zu laufen verschiedene benchmark-tests mit CPU2006, um zu sehen, was verschiedene Optimierungen in Bezug auf Geschwindigkeit auf gcc. Ich bin vertraut mit -O1, -O2 und -O3, aber habe gehört, dass -msse ist eine anständige Optimierung.

Wie um Hinweis auf Visual C++ - compiler optimizer, die einen bestimmten Zweig einer if-Anweisung ist unwahrscheinlich, dass Sie ausgeführt?

Anzahl der Antworten 2 Antworten
Haben wir ein makro für die Fehlerüberprüfung das geht wie folgt: #define CheckCondition( x ) \ if( x ) { \ //okay, do nothing \ } else { \ CallFunctionThatThrowsException(); \ } und in der Regel die

C-Programmierung: der Unterschied zwischen ++i und i=i+1 aus einer assembler-Sicht?

Anzahl der Antworten 6 Antworten
War dieses eine interview-Frage. Ich sagte, Sie waren die gleichen, aber dies wurde als eine falsche Antwort. Aus assembler Sicht, gibt es keine denkbare Unterschied? Ich kompiliert habe zwei kurze C-Programme mit Standard-gcc-Optimierung und -S finden Sie

Wie zu sagen, GCC-set Struktur-Größe-Grenze, um 4 bytes, die durch compiler-Einstellungen (nicht pragma ist)?

Anzahl der Antworten 2 Antworten
Ich will mein c++ - Programm kompiliert unter GCC zu haben, die maximale Ausrichtung von 4 bytes (der Mitglieder der Strukturen). Ich kann wirklich tun Sie dies durch die Direktive #pragma pack. Jedoch, es ist unangenehm, in

Wie Compiler optimieren unsere Codes?

Anzahl der Antworten 3 Antworten
Lief ich in diese Frage, als ich antwortete Jungs einen anderen Frage. Wie Compiler optimieren den code? Können Sie Schlüsselwörter wie const, ... helfen? Neben der Tatsache mit volatile und inline-Funktionen und wie man den code optimieren

Funktioniert der compiler entscheiden, Wann meine inline-Funktionen (in C++)?

Anzahl der Antworten 9 Antworten
Ich verstehe, können Sie das inline-Schlüsselwort oder einfach nur eine Methode in einer Klasse Erklärung ala kurz ctor oder eine getter-Methode, aber funktioniert der compiler die endgültige Entscheidung darüber, Wann inline-meine Methoden? Zum Beispiel: inline void Foo::vLongBar()

Gibt es einen Grund, warum Sie nicht zu verwenden link-time optimization (LTO)?

Anzahl der Antworten 4 Antworten
GCC, MSVC, LLVM, und wahrscheinlich auch andere toolchains haben Unterstützung für link-Zeit (ganzes Programm) - Optimierung ermöglichen die Optimierung der Anrufe bei der Kompilierung Einheiten. Gibt es einen Grund, nicht zur Aktivierung dieser option beim kompilieren-Produktions-software? Siehe

Konfiguration für die Optimierung der QtCreator-compiler

Anzahl der Antworten 2 Antworten
Ich bin mit QtCreator unter Windows 7. Will ich ihn konfigurieren, um die Verwendung von third-level-Optimierung (-O3) für c++ - compiler. Wie kann ich dies tun, um speed up my code und welche Veränderungen sind notwendig? Alle

Swift Beta performance: Sortieren von arrays

Anzahl der Antworten 9 Antworten
Ich war die Implementierung eines Algorithmus in Swift Beta und bemerkte, dass die performance war sehr schlecht. Nach dem Graben tiefer erkannte ich, dass einer der Engpässe war etwas so einfach wie das Sortieren von arrays. Der

Was ist die richtige Architektur-spezifische Optionen (-m) für Sandy-Bridge-basierten Pentium?

Anzahl der Antworten 3 Antworten
Ich versuche, herauszufinden, wie zu setzen -march option richtig zu sehen, wie viel performance-Unterschied zwischen der option aktiviert und deaktiviert die auftreten können, auf meinem PC mit gcc 4.7.2. Bevor Sie versuchen zu kompilieren, habe ich versucht

g++ - compiler-flag zu minimieren binäre Größe

Anzahl der Antworten 2 Antworten
Ich bin ein Arduino Uno R3. Ich mache logische Objekte für jeden meiner sensoren mit C++. Der Arduino hat nur sehr begrenzte on-board-Speicher 32KB*, und, im Durchschnitt, meine kompilierte Objekte kommen aus rund 6KB*. Ich bin schon

Wie kompilieren Sie Tensorflow mit SSE4.2-und AVX-Anweisungen?

Anzahl der Antworten 11 Antworten
Dies ist die empfangene Nachricht ein Skript ausgeführt, um zu überprüfen, ob Tensorflow arbeitet: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0

In clang, wie Sie pro-Funktion Optimierung Attribute?

Anzahl der Antworten 2 Antworten
Ich versuche zu kompilieren, die eine bestimmte Funktion ohne Optimierung mit clang, um zu verhindern, dass bestimmte sicherheitsrelevante Aufrufe memset() von optimiert entfernt. Laut die Dokumentation kann hier gefunden werden, es existiert eine optnone Attribut, das dies

Optimieren in CMake standardmäßig

Anzahl der Antworten 2 Antworten
Ich habe ein C++ Projekt benutzt CMake, wie seine build-system. Ich würde wie folgt Verhalten: Wenn cmake aufgerufen wird cmake .., dann CMAKE_CXX_FLAGS ist -O3 -Wall -Wextra Wenn cmake aufgerufen wird cmake .. -DCMAKE_BUILD_TYPE=Debug, dann CMAKE_CXX_FLAGS ist

Wie verringern Sie die Größe der erzeugten binaries?

Anzahl der Antworten 7 Antworten
Ich weiß, dass es eine option "-Os" auf "Optimize for size", aber es hat wenig beeinflussen, oder sogar zu erhöhen Sie die Größe auf einige Anlass 🙁 Streifen (oder "-s" - option) entfernt debug-symbol-Tabelle, die funktioniert Prima,

Konfiguration für die Optimierung der Qt creator compiler

Anzahl der Antworten 2 Antworten
Ich bin mit Qt-creator-windows-Plattform(sieben). Ich möchte es konfigurieren, als es verwendet die Dritte Ebene der Optimierung (-O3) für c++ Kompilierung. Hier ist nun die Frage, wie kann ich dies tun, um speed up my code und welche

GCC -Wuninitialized / -Wmaybe-uninitialized Fragen

Anzahl der Antworten 1 Antworten
Erlebe ich eine sehr seltsame Problem mit gcc-4.7 (Ubuntu/Linaro 4.7.2-11precise2) 4.7.2. Ich bin nicht in der Lage zu kompilieren, den folgenden gültigen code ohne Warnung: extern void dostuff(void); int test(int arg1, int arg2) { int ret; if

GCC-SSE-code-Optimierung

Anzahl der Antworten 2 Antworten
Dieser Beitrag ist eng verwandt mit anderen, die ich gepostet vor einigen Tagen. Dieses mal habe ich einen einfachen code, fügt nur ein paar von arrays von Elementen, multipliziert das Ergebnis durch die Werte in ein anderes

Doppelte Fragezeichen ('??') vs wenn bei der Zuweisung von gleichen var

Anzahl der Antworten 4 Antworten
Unter Bezugnahme auf die folgenden SE Antwort. Beim schreiben A = A ?? B; ist es das gleiche wie if( null != A ) A = A; else A = B; Bedeutet das, dass if( null ==

Gibt es einen Grund, die Linktime-Optimierung nicht zu verwenden?

Anzahl der Antworten 2 Antworten
GCC, MSVC, LLVM und wahrscheinlich auch andere toolchains haben Unterstützung für link-Zeit (ganzes Programm) - Optimierung ermöglichen die Optimierung der Anrufe bei der Kompilierung Einheiten. Gibt es aus irgendeinem Grund nicht aktivieren Sie diese option bei der

Warum erzeugt GCC eine derart unterschiedliche Baugruppe für fast den gleichen C-Code?

Anzahl der Antworten 3 Antworten
Beim schreiben einer optimierten ftol Funktion fand ich etwas sehr seltsames Verhalten in GCC 4.6.1. Lassen Sie mich Ihnen zeigen, den ersten code (für Klarheit markierte ich die Unterschiede): fast_trunc_one, C: int fast_trunc_one(int i) { int mantissa,

Wie funktionieren C / C ++ - Compiler?

Anzahl der Antworten 10 Antworten
Nach über einem Jahrzehnt von C/C++ Codierung, ich habe bemerkt das folgende Muster - sehr gute Programmierer neigen dazu, eine detaillierte Kenntnis der Innereien des Compilers. Ich bin ein einigermaßen guter Programmierer, und ich habe eine ad-hoc-Sammlung

Wie man Tensorflow mit SSE4.2 und AVX Anweisungen kompiliert?

Anzahl der Antworten 11 Antworten
Dies ist die empfangene Nachricht ein Skript ausgeführt, um zu überprüfen, ob Tensorflow arbeitet: I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.so.8.0

Kann die Compiler-Optimierung Fehler einführen?

Anzahl der Antworten 22 Antworten
Heute hatte ich eine Diskussion mit einem Freund von mir, und wir diskutierten ein paar Stunden über "compiler-Optimierung". Verteidigte ich den Punkt, dass manchmaleine compiler-Optimierung führen könnten bugs oder zumindest unerwünschtes Verhalten. Mein Freund völlig widersprach, sagen,

Ist es möglich, bitweise Operatoren mit Ganzzahlarithmetik zu implementieren?

Anzahl der Antworten 6 Antworten
Ich stehe vor einem eher eigenartigen problem. Ich arbeite gerade an einem compiler für eine Architektur, die nicht unterstützt werden bitweise Operationen. Aber es Griffe unterzeichnet 16-bit-integer-Arithmetik, und ich Frage mich, ob es möglich wäre zu implementieren

Warum können lambdas vom Compiler besser optimiert werden als einfache Funktionen?

Anzahl der Antworten 2 Antworten
In seinem Buch The C++ Standard Library (Second Edition) Nicolai Josuttis besagt, dass Lambda-Ausdrücke können besser optimiert durch den compiler als normale Funktionen. Zusätzlich C++ - Compiler optimieren lambdas besser, als Sie tun gewöhnliche Funktionen. (Seite 213)

Was ist der Unterschied zwischen den Optionen / Ox und / O2?

Anzahl der Antworten 2 Antworten
Microsoft C++ compiler (cl.exewie die in Visual Studio enthalten) bietet mehrere Optimierungsparameter. Der Unterschied zwischen den meisten von Ihnen scheint für sich selbst, aber es ist mir nicht klar, was der Unterschied ist zwischen /O2 (der code

G ++ -Optimierung über -O3 / -Ofast

Anzahl der Antworten 8 Antworten
Das Problem Haben wir eine mid-size-Programm für eine simulation Aufgabe, die wir optimieren müssen. Wir haben bereits unser bestes getan, die Optimierung der Quelle bis an die Grenze unserer Programmier-Fähigkeiten, einschließlich profiling mit Gprof und Valgrind. Wenn

Wie sieht man, welche Flags -march = native aktiviert wird?

Anzahl der Antworten 5 Antworten
Sammle ich meine C++ - app mit GCC 4.3. Statt der manuellen Auswahl des Optimierungs-flags bin ich mit -march=nativedie in der Theorie sollte hinzufügen, alle Optimierungs-flags gilt für die hardware, die ich kompiliere auf. Aber wie kann

Welche Art von Optimierung bietet const in C / C ++? (wenn überhaupt)

Anzahl der Antworten 5 Antworten
Ich weiß, dass wo möglich, verwenden Sie das Schlüsselwort const bei der Parameterübergabe um durch Referenz oder Zeiger aus Gründen der Lesbarkeit. Gibt es irgendwelche Optimierungen, die der compiler tun kann, wenn ich angeben, dass ein argument

Das Ersetzen einer 32-Bit-Schleifenzählvariablen durch 64-Bit führt zu verrückten Leistungsabweichungen

Anzahl der Antworten 8 Antworten
Ich war auf der Suche nach der Schnellste Weg, um popcount großen Daten-arrays. Ich traf eine sehr komisch Wirkung: Ändern der schleifenvariablen von unsigned zu uint64_t aus der Leistungsabfall von 50% auf meinem PC. Die Benchmark #include

Wie kann man überprüfen, ob die gegebene Zahl auf schnelle Weise von 15 teilbar ist?

Anzahl der Antworten 6 Antworten
Division in den Prozessor nimmt sich viel Zeit, so möchte ich Fragen, wie check-in am schnellsten Weg, wenn die Zahl teilbar ist, einige andere Nummer, in meinem Fall brauche ich um zu prüfen, ob Zahl ist teilbar

So deaktivieren Sie die GCC-Compiler-Optimierung, um den Pufferüberlauf zu aktivieren

Anzahl der Antworten 6 Antworten
Arbeite ich an einem Hausaufgaben problemdie erfordert, dass das deaktivieren der compiler-Optimierung Schutz für Sie zu arbeiten. Ich bin mit gcc 4.4.1 auf ubuntu-linux, aber kann nicht herausfinden, welche flags sind, die richtigen sind. Ich merke es

Warum optimiert GCC nicht a * a * a * a * a * a bis (a * a * a) * (a * a * a)?

Anzahl der Antworten 12 Antworten
Ich mache einige numerische Optimierung auf eine wissenschaftliche Anwendung. Eine Sache, die ich bemerkt ist, dass GCC optimiert das call pow(a,2) durch kompilieren in a*aaber der Anruf pow(a,6) ist nicht optimiert und wird tatsächlich rufen Sie die

Vorteile der Option "Code optimieren" in Visual Studio Build

Anzahl der Antworten 4 Antworten
Viel von unseren C# - code Version ist gebaut mit 'Optimize code" - option ausgeschaltet sein. Ich glaube, das ist es, code gebaut, im Release-Modus zu Debuggen leichter. Gegeben, dass wir relativ einfachen desktop-software, die eine Verbindung

Was ist & amp; & amp; & amp; Operation in C

Anzahl der Antworten 2 Antworten
#include <stdio.h> volatile int i; int main() { int c; for (i = 0; i < 3; i++) { c = i &&& i; printf("%d\n", c); } return 0; } Die Ausgabe des obigen Programms kompiliert mit

Warum kann der Compiler eine vorhersagbare Additionsschleife nicht zu einer Multiplikation optimieren (oder nicht)?

Anzahl der Antworten 6 Antworten
Dies ist eine Frage, die den Sinn kam, beim Lesen des brilliant Antwort von Mysticial auf die Frage: warum ist es schneller zu verarbeiten, ein sortiertes array als eine unsortierte array? Kontext für die Typen beteiligt: const

Clang Optimierungsstufen

Anzahl der Antworten 3 Antworten
Auf gcc, das Handbuch erklärt, was -O3, -Os usw. übersetzen in Bezug auf die spezifische Optimierung Argumente ( -funswitch-loops , -fcompare-elim usw.) Ich bin auf der Suche nach der gleichen info für clang. Ist, habe ich mich

Verwenden der Assemblersprache in C / C ++

Anzahl der Antworten 12 Antworten
Ich erinnere mich, irgendwo gelesen zu haben, dass, um wirklich zu optimieren & Geschwindigkeit bis bestimmten Abschnitt des Codes, die Programmierer schreiben, dass Abschnitt in Assembler. Meine Fragen sind - Ist diese Praxis noch getan werden? und

Wie deaktiviere ich Compiler-Optimierungen in gcc?

Anzahl der Antworten 5 Antworten
Ich versuche Assembler zu lernen Sprache. Ich habe gesucht und gefunden, wie zu zerlegen einen .c Datei, aber ich denke, es stellt eine optimierte version des Programms. Gibt es eine Möglichkeit damit ich sehen kann, die genauen