Цитата Сообщение от litwr Посмотреть сообщение
Бейсик на 264-х (это и plus/4, и 16, и 116) один из лучших по качеству команд, но скоростью пожертвовали за большую память: 60КБ для программ на бейсике, при общем объеме ОЗУ в 64 КБ - рекорд
Если вы настаиваете на дальнейшем обсуждении крайне неудачных моделей Коммодоров и считаете их важным «доказательством» того, что тесты на Бейсике ни в коем случае нельзя использовать для сравнения производительности ПК в целом, то ответьте на такой вопрос: много ли вы знаете компьютеров с такой, мягко говоря, странной архитектурой, когда программы в ПЗУ (Бейсик) работают намного медленнее программ в ОЗУ (а если это не так, то зачем писать, что скорость Бейсика на Коммодоре 264 не показательна?) и компьютеров, у которых процессор тормозится видеоконтроллером в 1,5 с лишним раза? Если у создателей этого ПК не получилось сделать так, чтобы ПК и работал с нормальной (для своего процессора) скоростью, и мог использовать для Бейсика максимальный объём ОЗУ, то это вовсе не означает наличие таких же странных «заморочек» у других ПК (у того же С64 их не было, как и у Apple II, VIC-20 и т.п.). И, естественно, никто не заставляет нас «тупо» сравнивать скорость ПК на основании лишь показателей Бейсика без учёта особенностей этих ПК и Бейсиков.

Более того, я не раз уже писал, что непосредственно сравнивать по результатам этих тестов можно лишь те ПК, которые имеют близкие по происхождению и принципам работы Бейсики. Для остальных – конечно, надо учитывать и особенности Бейсиков, и особенности ПК.

Но я абсолютно не согласен с утверждением, что результаты тестирования на Бейсике – «не показательны». Посмотрите на таблицу и графики – в каком месте они не показательны, где, по-вашему, результаты близких версий Бейсика «врут», явно не соответствуя реальному соотношению скоростей работы разных ПК?

Кстати, я ориентируюсь по среднему результату тестов ВМ1-ВМ7 (общий показатель для «простых» тестов, мало зависящих от разрядности ПК и типа процессора), а также ВМ8 (а лучше, при наличии, ВМ8М – без неопределенности, связанной с разным алгоритмом вычислений степени) – хороший показатель для более сложных программ, намного более зависимый от разрядности и архитектуры процессора. И, конечно, учитываю точность вычислений – как видим, у всех Бейсиков с «двойной» точностью скорость вычислений намного ниже.

И ещё хочу написать о ПК, подобных Коммодору 264 на процессорах семейства 6502 и 6809 – к сожалению, чудес не бывает. Высочайшая (для процессора середины 70-х) эффективность работы относительно других моделей (Z80, 8080, PDP-совместимых) на одинаковой частоте относится в основном лишь к случаю, когда процессор работает на частоте порядка 1 МГц. Большинство моделей на 6502 с большей частотой (а это и Atari XL/XE, и Commodore Plus/4, и Acorn Electron (в ОЗУ), и Apple III) имеют очень значительное торможение процессора – до 1,5 раз и более. Единственные известные мне подобные ПК, лишённые такого явного недостатка – BBC Micro и, вроде бы, Commodore 128 (оба имеют процессор с частотой 2 МГц). То есть, если при частоте 1 МГц процессор 6502 почти у всех ПК работает практически в полную силу, то на частоте ближе к 2 МГц, видимо, уже очень трудно избежать торможения. Причём от типа видеоконтроллера это не зависит – торможение есть и у ПК с «крутыми» видеопроцессорами (Атари) и у ПК с более простыми (традиционными) видеоадаптерами (Apple III, Commodore Plus/4, Acorn Electron). А вот ПК с процессорами, требующими гораздо большего числа тактов на команду (8080, Z80, 8086/8088, К1801 и др.), могут с примерно такой же по скорости памятью работать на гораздо более высоких частотах (до 4-5 МГц) с не таким сильным торможением или даже вообще без торможения.

Цитата Сообщение от litwr Посмотреть сообщение
Для медленных бейсиков коммодоров или даже IBM PC были хорошие компиляторы (например, известнейший Microsoft Quick Basic или более ранний IBM Bascom), которые естественно дополняли интерпретаторы. Хорошо бы в табличку добавить данные и по ним, что давало бы какое-то реальное представление о быстродействии архитектуры, а не конкретной реализации бейсика, слишком чувствительной к мелочам и особенностям в каждом конкретном случае. Также как одна или несколько сделанных плохо программ ничего не говорят об архитектуре в целом, так и реализации бейсика в довольно многих случаях.
Не могу назвать майкрософтовские Бейсики для Коммодоров и IBM PC медленными – среди классических интерпретаторов они имеют отличную скорость. А насчёт компиляторов могу сказать так – если уж есть сомнения насчёт адекватности результатов интерпретаторов (которые на многих ПК буквально близнецы-братья), то скорость программ после компиляторов должна вызывать в 10 раз больше вопросов – все компиляторы ещё более разные, чем интерпретаторы. И никакого представления о быстродействии архитектуры они не дают – одни ускоряют выполнение программ по сравнению с интерпретаторами, скажем, раза в 3 (как те же первые компиляторы от Майкрософт), а другие – раз в 50. А та же программа (конечно, достаточно простая, без сложных вычислений), написанная на ассемблере, может работать раз в 500 быстрее, чем на интерпретаторах.

Никакой особенной чувствительности тестов ВМ1-ВМ8 к мелочам не наблюдается – посмотрите графики показателей относительно ВМ3 – даже наличие или отсутствие предварительного преобразования констант (а это совсем не мелочь) не очень-то сказывается на этих тестах. Графики как раз показывают очень близкие принципы работы не только у Бейсиков одного происхождения, но и у достаточно разных типов.

Бейсики, в основе своей, как раз очень неплохо сделанные программы – вряд ли средний уровень программ на ассемблере был выше, чем у трансляторов Бейсика. Конечно, отдельные Бейсики вызывают законные вопросы (как у «Спектрума», «Атари», MSX, TI-99/4A, Бейсик-11 в части скорости цикла FOR и т.д.), но эти вопросы наверняка имеют достаточно простые ответы и как раз показывают, что основная часть Бейсиков (более быстрых) была хорошо оптимизирована и сделана вполне профессионально.