Enterprise 128k (новостная лента сайта) | Cubietruck
MSX на Z80 посчитает за 4 сек (но у него точность выше), про Enterprise уже сказали. Вот Color Computer 2 на Motorolla 6809 справляется за 2 сек. и это при частоте меньше 1 MHz.
Мне кажется, именно выполнение самой команды, например, BORDER идёт очень быстро, а большую часть времени тратится на вычисление выражения. Разница по времени выполнения между BORDER 3 и BORDER x*2 довольно большая, что говорит в пользу этой версии. Да, наверное, можно было оптимизировать так, чтобы при наличии только одного явно указанного числа блок вычисления выражения не вызывался, а выдавалось это готовое число. Наверное, посчитали это бессмысленной оптимизацией на фоне остальных тормозов.
Бейсик не такой уж и медленный для своего времени. По сравнению с конкурентами (Apple ][, Atari, C64, MSX) работал весьма на уровне. РКшный бейсик был и того медленнее. Большинство этих бейсиков были токенизированные. Хотя и "прозрачно" для пользователя - тот не видел, что внутреннее представление программы имеет токены.
Я внимательно изучал дизассемблер ПЗУ. Конечно, большого упора на оптимизацию по скорости там не делалось, но и явных ляпов тоже нет (кроме, разве что, CIRCLE). По большей части, проводилась оптимизация по размеру кода. И тут важен не только объем доступного ПЗУ, но и ограниченность адресного пространства Z80. Если бы для бейсика потребовалось не 16, а 32К - то столько же было бы откушено от легкодоступного ОЗУ, либо пришлось бы переключать страницы. А это потребовало бы аппаратной логики, которая в те годы была на вес золота. Найденный разработчиками баланс оказался очень удачным, чему свидетельство - успех проекта. И провал последующих проектов (Sinclair QL), где "золотая середина" найдена не была.
Есть компилятор Laser Basic. Не знаю, как именно он работает; судя по звуку компилированных программ при записи на ленту, там как раз и идет преобразование в пи-код. По памяти впечатлений, которые я получил, когда игрался с этим компилятором 25 лет назад, ускорение было довольно существенным.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)