Разница между целочисленным умножением (временно забывая о делении) все еще в пользу сдвига, и если да, то насколько велика разница?
Это просто кажется такой уж большой низкоуровневая оптимизация, даже если вы этого хотите, не должен ли компилятор байт-кода (C # / Java) или jit ловить ее в большинстве случаев?
Примечание: я тестировал скомпилированный вывод для C # (с версией компилятора gmcs Mono C # 2.6.7.0), а примеры умножения не http://csharp.pastebin.com/hcrRnPrb
cil http://csharp.pastebin.com/0js9F2c1
PS Я забыл, как может быть полезно использовать его для байтов, но все еще возникают проблемы с его использованием для Numbers.