FR>>"Интерпретор" у форта как ты наверно знаешь, имеет некторые особенности которые позволяют ему по скорости мало уступать тупым плохо оптимизирующим компиляторам (а явовские в мобилках именно такие), правда эти же особенности мешают построить хороший оптимизирующий компилятор. Но компиляторы у форта есть и посоревноватся с той же явой вполне могут.
M>Этого не может быть, потому, что этого не может быть никогда.
Угу пока не ознокомишся как форт система работает.
M>Любой, самый тупой из тупых компиляторов разворачивает байткод в последовательность комманд процессора, экономя на каждой комманде чтение опкода и джамп на хэндлер. У ARM эти две операции совмещены, но джамп занимает больше такта. У MIPS их надо делать отдельно, но он выполняет ещё одну инструкцию, в течении джампа. Итого — минимальная прибыль от компилятора, даже если он тупо работает со стеком и не занимается регистрами — 2-3 такта на инстукцию. Если он ещё регистры использует (даже без оптимизации) — то это ещё раза в 2 ускорение.
"Интерпретатор" прямого шитого кода в форте состоит всего из нескольких ассемблерных команд, суть его работы в том что выбирает адрес слова и делает косвенный call. То есть добавляется на один косвенный вызов больше чем при непосредственном вызове подпрограммы. Компиляторы просто заменяют этот косвенный вызов на прямой call и инлайнят низкоуровневые слова.
M>Фсё, я тему быстродействия больше в этом топике не обсуждаю. Если есть что-то конкретное в виде бенчмарков — можно обсудить в новом топике.
Дя бенчмарков я форт слишком давно в руках не держал.