Perguntas com a marcação «compiler-optimization»

A otimização do compilador envolve a adaptação de um compilador para reduzir o tempo de execução ou o tamanho do objeto, ou ambos. Isso pode ser feito usando argumentos do compilador (ou seja, CFLAGS, LDFLAGS), plug-ins do compilador (DEHYDRA, por exemplo) ou modificações diretas no compilador (como modificar o código-fonte).


3
O uso desse ponteiro causa uma desoptimização estranha no loop quente
Recentemente, deparei-me com uma estranha desoptimização (ou melhor, perdi uma oportunidade de otimização). Considere esta função para descompactar com eficiência matrizes de números inteiros de 3 bits a números inteiros de 8 bits. Descompacta 16 ints em cada iteração de loop: void unpack3bit(uint8_t* target, char* source, int size) { while(size …

11
Eficiência de retorno prematuro em uma função
Essa é uma situação que encontro com frequência como um programador inexperiente e estou pensando sobre a qual, especialmente para um projeto meu ambicioso e que exige muita velocidade, estou tentando otimizar. Para as principais linguagens semelhantes a C (C, objC, C ++, Java, C #, etc) e seus compiladores …

3
Níveis de otimização do Clang
No gcc, o manual explica o que -O3, -Osetc. traduzir para em termos de argumentos de otimização específica ( -funswitch-loops, -fcompare-elim, etc.) Estou procurando as mesmas informações para o clang . Procurei online e no man clangqual só dá informações gerais ( -O2otimiza mais que -O1, -Osotimiza para velocidade, ...) …




2
Java 8: Class.getName () diminui a cadeia de concatenação de String
Recentemente, encontrei um problema relacionado à concatenação de String. Este benchmark resume: @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 = data.clazz; final …



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.