Нет. Байт-код для большинства языков высокого уровня очень высокого уровня и обычно хорошо согласуется с теми идиомами, которые использует язык - вы просто не можете написать код для выполнения простой задачи каким-либо иным способом, кроме того, что уже генерирует компилятор, по крайней мере, без делая это медленнее.
Большая часть ускорения от созданного вручную ассемблера происходит от умного использования регистров, умного использования машинных кодов операций и т. Д. - всего, что вы не можете контролировать при написании высокоуровневого байт-кода.
Также важно отметить, что если вы генерируете необычный код - скажем, в каком-то стековом vm вы замечаете, что значение используется дважды, и, будучи умнее, чем испуская временную переменную, вы оставляете ее в стеке и дублируете ее позже. Вы, возможно, просто сильно пострадали от исполнения. JIT больше не распознает идиому и в результате выдает ужасный код. Я был поражен этим генерируемым MSIL во время выполнения - , если то, что вы излучаете, не похоже на код, сгенерированный компилятором, оно, вероятно, не будет работать.
Конечно, я говорю конкретно о MSIL, но я верю, что в целом это будет справедливо.