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.
3
Antworten

Wie kann ich die Mikro-Ops finden, auf die Anweisungen auf Intels x86-CPUs dekodieren?

Die Intel Optimization Reference in Abschnitt 3.5.1 empfiehlt: "Anweisungen für Einzel-Mikro-Operationen bevorzugen." "Vermeiden Sie die Verwendung komplexer Anweisungen (z. B." Enter "," Leave "oder" Loop "), die mehr als 4 Mikrobefehle e...
04.11.2014, 12:32
1
Antwort

Ist Clang wirklich so schlau?

Wenn ich den folgenden Code mit Clang 3.3 mit -O3 -fno-vectorize kompiliere, bekomme ich die gleiche Assembly-Ausgabe, selbst wenn ich die kommentierte Zeile entferne. Der Codetyp macht alle möglichen 32-Bit-Ganzzahlen zum Schweben und zählt...
29.05.2014, 05:09
3
Antworten

Wäre es von Vorteil, Lisp-Funktionen als "rein" deklarieren zu können?

Ich habe in letzter Zeit viel über gelesen und die Vorteile, die daraus erwachsen, dass ich rein funktionale Sprache. (Ich bin nicht daran interessiert, Monaden für Lisp zu diskutieren). Es macht für mich Sinn, Funktionen mit Nebenwirkungen...
31.08.2011, 08:38
4
Antworten

Wie kann ich einen Aufruf erhalten, wenn zum Zeitpunkt der Kompilierung eine Edge-Bedingung bekannt ist?

Ich habe die folgende Situation: Es gibt eine große Menge von Vorlagen wie std::vector , die memmove() aufrufen, um Teile des Arrays zu verschieben. Manchmal möchten sie Teile der Länge Null "verschieben" - zum Beispiel, wenn der Array-Schw...
05.10.2011, 07:32
3
Antworten

Optimierungen durch Compiler in einem rekursiven Programm

Ich wurde von der Optimierung der Tail-Call-Frage Was ist Tail Call Optimization
22.03.2012, 14:37
2
Antworten

Mathematica: Verwenden Sie simplify, um die Unterdrückung von Unterausdrücken und die Reduzierung der Stärke zu vereinfachen

So habe ich mich in letzter Zeit damit beschäftigt, wie Mathematicas Pattern-Matching und Termersetzung bei Compiler-Optimierungen genutzt werden können ... und dabei versucht, kurze Code-Blöcke, die die inneren Teile von Loops sind, zu optimier...
17.11.2010, 08:56
3
Antworten

Laufzeit Polymorphismus Entscheidung

Ich habe irgendwo gelesen, dass der Laufzeitpolymorphismus ein Ergebnis der dynamischen Eingabe in Sprachen ist. Wenn wir den folgenden Code untersuchen, sehen wir ein klares Beispiel für den Laufzeitpolymorphismus. %Vor% Da es eine Superkla...
03.11.2015, 12:56
2
Antworten

Kann ich ein Protokoll der vom Compiler angewandten Optimierungen erhalten? [Duplikat]

Gibt es beim Kompilieren einer C ++ - Anwendung oder -Bibliothek mit aktivierten Optimierungen wie -O3 für gcc eine Möglichkeit, die angewandten Optimierungen aufzulisten? Ich meine, ohne den tatsächlichen Byte-Code zu vergleichen. Das wäre...
24.03.2014, 10:00
3
Antworten

Optimierung einer rekursiven Brute-Force in eine eher mathematisch-lineare Lösung

Ich habe dieses Haskell-Programm geschrieben, um Euler 15 zu lösen (es benutzt eine sehr einfache dynamische Programmierung, um ein bisschen schneller zu laufen, also kann ich es tatsächlich ausführen, aber das Entfernen würde erwarten, dass es...
26.02.2014, 10:35
1
Antwort

GHC Partial Evaluation und Separate Compilation

Ganze Programmcompiler wie MLton erstellen optimierte Binärdateien, teilweise aufgrund ihrer Fähigkeit, die gesamte Quelle der Binärdatei für die teilweise Auswertung zu verwenden: aggressiv Konstanten einbinden und solange auswerten, bis sie...
21.11.2014, 17:48