Domande taggate «compiler-optimization»

L'ottimizzazione del compilatore implica l'adattamento di un compilatore per ridurre il tempo di esecuzione o la dimensione dell'oggetto o entrambi. Ciò può essere ottenuto utilizzando gli argomenti del compilatore (ad esempio CFLAGS, LDFLAGS), plugin del compilatore (DEHYDRA per esempio) o modifiche dirette al compilatore (come la modifica del codice sorgente).



11
Efficienza del ritorno prematuro in una funzione
Questa è una situazione che incontro frequentemente come programmatore inesperto e mi chiedo in particolare per un mio progetto ambizioso e ad alta velocità che sto cercando di ottimizzare. Per i principali linguaggi C-like (C, objC, C ++, Java, C #, ecc.) E per i loro soliti compilatori, queste due …

3
Livelli di ottimizzazione del clang
Sul gcc, il manuale spiega che cosa -O3, -Osecc traducono in termini di argomenti specifici di ottimizzazione ( -funswitch-loops, -fcompare-elim, ecc) Sto cercando le stesse informazioni per clang . Ho cercato online e in man clangcui fornisce solo informazioni generali ( -O2ottimizza più di -O1, -Osottimizza per velocità, ...) e …



1
Perché l'inizializzazione aggregata GCC di un array riempie per prima l'intera cosa di zeri, inclusi elementi diversi da zero?
Perché gcc riempie l'intero array di zeri invece che solo dei restanti 96 numeri interi? Gli inizializzatori diversi da zero sono tutti all'inizio dell'array. 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 () rallenta la catena di concatenazione delle stringhe
Di recente ho riscontrato un problema relativo alla concatenazione di stringhe. Questo benchmark lo riassume: @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<? extends Data> clazz …

2
Il mio compilatore ha ignorato il mio membro di classe thread_local statico inutilizzato?
Voglio fare una registrazione di thread nella mia classe, quindi decido di aggiungere un controllo per la thread_localfunzione: #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" << std::endl; } }; class Bar { public: Bar() { std::cout …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.