История изменений
Исправление
nanoolinux,
(текущая версия)
:
Обе операции насколько мне известно занимают 1 такт.
x64.
x64 - суперскалярная архитектура, забудь о тактах, и думай о том, как бы данные в кеш уместить.
Существуют ли архитектуры (arm, mips, ...), для которых эти и другие известные трюки - полноправная оптимизация?
Очевидно, что да. В том же к1810вм86 i8086 сдвиг - 4 такта, деление - десятки, точно не помню. Но если сам компилятор это умеет, то это теряет смысл.
Исправление
nanoolinux,
:
Обе операции насколько мне известно занимают 1 такт.
x64.
x64 - суперскалярная архитектура, забудь о тактах, и думай о том, как бы данные в кеш уместить.
Существуют ли архитектуры (arm, mips, ...), для которых эти и другие известные трюки - полноправная оптимизация?
Очевидно, что да. В том же к1810вм1 i8086 сдвиг - 4 такта, деление - десятки, точно не помню. Но если сам компилятор это умеет, то это теряет смысл.
Исходная версия
nanoolinux,
:
Обе операции насколько мне известно занимают 1 такт.
x64.
x64 - суперскалярная архитектура, забудь о тактах, и думай о том, как бы данные в кеш уместить.
Существуют ли архитектуры (arm, mips, ...), для которых эти и другие известные трюки - полноправная оптимизация?
Очевидно, что да. Но если сам компилятор это умеет, то это теряет смысл.