История изменений
Исправление
Legioner,
(текущая версия)
:
На Хабре как-то промелькивало исследование, сколько процентов инструкций поддерживают современные компиляторы. Оказалось, около 30%.
Т.е. 30% от всего того, что может процессор.
Эта цифра ничего не говорит. В процессоре куча бесполезных инструкций, которые использовать просто ненужно ни в каком случае, т.к. они там нужны только для обратной совместимости с кодом 40-летней давности. Правильно писать «сколько процентов инструкций используют современные компиляторы». И сколько из неиспользуемых инструкций стоило бы использовать.
Лично я знаю только один случай, когда ассемблер оправдан. Это векторные инструкции. И то не потому, что компилятор их не поддерживает, а потому, что он их поддерживает очень неявно, порой нифига не понятно, чего оптимизатору не хватает, чтобы заюзать их. И вместо того, чтобы вкуривать исходники компилятора или заниматься экспериментами с кодом, переписывая его в разные виды, проще просто взять и написать на асме нужный кусочек.
Исходная версия
Legioner,
:
На Хабре как-то промелькивало исследование, сколько процентов инструкций поддерживают современные компиляторы. Оказалось, около 30%.
Т.е. 30% от всего того, что может процессор.
Эта цифра ничего не говорит. В процессоре куча бесполезных инструкций, которые использовать просто ненужно ни в каком случае, т.к. они там нужны только для обратной совместимости с кодом 40-летней давности. Правильно писать «сколько процентов инструкций используют современные компиляторы».