Preguntas etiquetadas con strict-aliasing


3
El uso de este puntero provoca una desoptimización extraña en el bucle dinámico
Recientemente me encontré con una desoptimización extraña (o más bien perdí la oportunidad de optimización). Considere esta función para desempaquetar de manera eficiente conjuntos de enteros de 3 bits a enteros de 8 bits. Descomprime 16 ints en cada iteración de bucle: void unpack3bit(uint8_t* target, char* source, int size) { …

13
En C ++, ¿debería molestarme en almacenar en caché las variables o dejar que el compilador haga la optimización? (Aliasing)
Considere el siguiente código ( pes de tipo unsigned char*y bitmap->widthes de algún tipo entero, exactamente que se desconoce y depende de la versión de alguna biblioteca externa que estemos usando): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ = 0xAA; *p++ = 0xBB; *p++ = 0xCC; …
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.