указатели для подсказки компилятору о том, как планировать загрузку и хранение.
но прочитав, что основная причина того, что fortran быстрее, чем c / c ++ в числовых вычислениях, заключается в том, что нет псевдонимов указателей.
Видимо, используяrestrict
или же__restrict__
ключевые слова позволяют в каждом конкретном случае указывать на отсутствие псевдонима указателя для данного элемента памяти.
Компилятор icc, по-видимому, имеет опцию-fno-alias
что позволяет глобально предположить, что псевдонимов нет. На gcc есть-fno-strict-aliasing
, который применяется только к подмножеству всех ситуаций наложения имен.
Есть ли опция в gcc или есть случаи, когда псевдонимы не предполагаются при использовании определенных флагов оптимизации?