LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

Есть пруфы того, что это реально увеличивает производительность где-то кроме синтетических тестов?

Знаковая арифметика без UB - это gmplib, и то условно. Сравнивай.

Знаковая арифметика без UB включается в gcc/clang ключиком -fwrapv, и он включен у большой части впопенсорцного софта, включая ядро.

 -fwrapv
           This option instructs the compiler to assume that signed arithmetic overflow of addition, subtraction and multiplication wraps around using twos-complement representation.  This flag enables some optimizations and disables others.

Вопрос в том, почему не сделать это документированным дефолтом в стандарте. Потому что кроме twos-complement арифметики сейчас нигде и нет, другие платформы давно сдохли и Си на них не работает.

Исправление hateyoufeel, :

Есть пруфы того, что это реально увеличивает производительность где-то кроме синтетических тестов?

Знаковая арифметика без UB - это gmplib, и то условно. Сравнивай.

Знаковая арифметика без UB включается в gcc/clang ключиком -fwrapv, и он включен у большей части впопенсорцного софта, включая ядро.

 -fwrapv
           This option instructs the compiler to assume that signed arithmetic overflow of addition, subtraction and multiplication wraps around using twos-complement representation.  This flag enables some optimizations and disables others.

Вопрос в том, почему не сделать это документированным дефолтом в стандарте. Потому что кроме twos-complement арифметики сейчас нигде и нет, другие платформы давно сдохли и Си на них не работает.

Исходная версия hateyoufeel, :

Есть пруфы того, что это реально увеличивает производительность где-то кроме синтетических тестов?

Знаковая арифметика без UB - это gmplib, и то условно. Сравнивай.

Знаковая арифметика без UB включается в gcc/clang ключиком -fwrapv, и он включен у большей части впопенсорцного софта, включая ядро.

 -fwrapv
           This option instructs the compiler to assume that signed arithmetic overflow of addition, subtraction and multiplication wraps around using twos-complement representation.  This flag enables some optimizations and disables others.