Вопросы с тегом «strict-aliasing»

122
Использование этого указателя вызывает странную деоптимизацию в горячем цикле

Недавно я столкнулся со странной деоптимизацией (точнее, упущенной возможностью оптимизации). Рассмотрим эту функцию для эффективной распаковки массивов 3-битных целых чисел в 8-битные целые числа. На каждой итерации цикла он распаковывает 16 int: void unpack3bit(uint8_t* target, char* source, int...

114
В C ++ мне нужно кэшировать переменные или позволить компилятору сделать оптимизацию? (Сглаживание)

Рассмотрим следующий код ( pимеет тип unsigned char*и bitmap->widthимеет некоторый целочисленный тип, который точно неизвестен и зависит от того, какую версию какой-либо внешней библиотеки мы используем): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ =...