Perguntas com a marcação «strict-aliasing»


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 …

13
Em C ++, devo me preocupar em armazenar variáveis ​​em cache ou deixar que o compilador faça a otimização? (Aliasing)
Considere o seguinte código ( pé do tipo unsigned char*e bitmap->widthé de algum tipo inteiro, exatamente que é desconhecido e depende de qual versão de alguma biblioteca externa estamos usando): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ = 0xAA; *p++ = 0xBB; *p++ = 0xCC; } …
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.