Als «compiler-optimization» getaggte Fragen

Bei der Compileroptimierung wird ein Compiler angepasst, um die Laufzeit oder die Objektgröße oder beides zu reduzieren. Dies kann mithilfe von Compiler-Argumenten (z. B. CFLAGS, LDFLAGS), Compiler-Plugins (z. B. DEHYDRA) oder direkten Änderungen am Compiler (z. B. Ändern des Quellcodes) erreicht werden.

1
Warum füllt die GCC-Aggregatinitialisierung eines Arrays das Ganze zuerst mit Nullen, einschließlich Nicht-Null-Elementen?
Warum füllt gcc das gesamte Array mit Nullen anstatt nur mit den verbleibenden 96 Ganzzahlen? Die Nicht-Null-Initialisierer befinden sich alle am Anfang des Arrays. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to …

2
Java 8: Class.getName () verlangsamt die Verkettungskette von Zeichenfolgen
Vor kurzem bin ich auf ein Problem mit der Verkettung von Zeichenfolgen gestoßen. Dieser Benchmark fasst es zusammen: @OutputTimeUnit(TimeUnit.NANOSECONDS) public class BrokenConcatenationBenchmark { @Benchmark public String slow(Data data) { final Class<? extends Data> clazz = data.clazz; return "class " + clazz.getName(); } @Benchmark public String fast(Data data) { final Class<? …

2
Hat mein Compiler mein nicht verwendetes statisches thread_local-Klassenmitglied ignoriert?
Ich möchte eine Thread-Registrierung in meiner Klasse durchführen, daher entscheide ich mich, eine Überprüfung für die thread_localFunktion hinzuzufügen : #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" << std::endl; } }; class Bar { public: Bar() { …

1
Eliminierung der if / else-Verzweigung in C ++ zur Kompilierungszeit
Im folgenden Codebeispiel ifhängt die Anweisung vom boolVorlagenparameter ab, bei dem es sich um eine Konstante zur Kompilierungszeit handelt. Compiler behandeln diesen Code unterschiedlich: MSVC schlägt mit einem Verbindungsfehler fehl (was ich erwartet habe), da die Vorlagenfunktion in der elseVerzweigung nicht auf den trueWert der Vorlagenparameter spezialisiert ist (obwohl sie …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.