>>Компиляция в байт код нужна не для ускорения, а для переносимости на
>>дикие архитектуры. На мой взгляд, ускорение здесь чисто липовое.
>
>Почему? Какая-то экономия точно есть - два этапа обработки кода (чтение и
>интерпритация/составление внутреннего представления)...
Если бы какого-то ускорения не было бы, то и ежу понятно было бы...
Тут дело вот в чём (но это чисто моё мнение, основанное чисто на моём
личном опыте). Если программку на итерпретируемом языке скомпилировать в
байт код, то она будет работать чуть быстрее. Если же сделать не так;
оставить программку в покое, а действительно тонкие с точки зрения
производительности места написать на C++, то программка наша будет работать
несоизмеримо быстрее по сравнению с первым вариантом. Но вот беда, чтобы
переносимость при этом не пострадала, нужно a) иметь на целевой платформе
компилятор C++, b) интерпретируемый язык должен позволять себя стыковать с
C++ не просто легко, а даже таки -- приятно. Здесь я в своё время тоже
чесал затылок и тасовал языки; постепенно остановился на Ruby, по
крайней мере до тех пор, пока буду ориентироваться на платформы,
удовлетворяющие пункту a.
Компиляцию в байт код поддерживают например Java и Python. Ну, и сильно
это обстоятельство помогло производительности Java, или модности Python?
Вообще, как я разумею, не существует технологии, которая решила
бы за программиста проблему производительности (типа -- скомпилировал в
байт код, и на тебе решение проблемы), решить её можно только и
исключительно, приложив умную голову. А какие технологии использовать --
дело не первостепенное.
|