Re[15]: Являются ли макросы свидетельством недостаточной выр
От: FR  
Дата: 10.08.07 09:52
Оценка:
Здравствуйте, mkizub, Вы писали:


FR>>"Интерпретор" у форта как ты наверно знаешь, имеет некторые особенности которые позволяют ему по скорости мало уступать тупым плохо оптимизирующим компиляторам (а явовские в мобилках именно такие), правда эти же особенности мешают построить хороший оптимизирующий компилятор. Но компиляторы у форта есть и посоревноватся с той же явой вполне могут.


M>Этого не может быть, потому, что этого не может быть никогда.


Угу пока не ознокомишся как форт система работает.

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


"Интерпретатор" прямого шитого кода в форте состоит всего из нескольких ассемблерных команд, суть его работы в том что выбирает адрес слова и делает косвенный call. То есть добавляется на один косвенный вызов больше чем при непосредственном вызове подпрограммы. Компиляторы просто заменяют этот косвенный вызов на прямой call и инлайнят низкоуровневые слова.

M>Фсё, я тему быстродействия больше в этом топике не обсуждаю. Если есть что-то конкретное в виде бенчмарков — можно обсудить в новом топике.


Дя бенчмарков я форт слишком давно в руках не держал.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.