Вот ещё пример, показывающий как ошибочно переносить данные по быстродействию на бейсике на весь компьютер. Хорошо знаком с ретрокомпьютерами Коммодор серий 64, 264, 128. Прогоним тесты на 64 и 264. На 64 они будут выполняться примерно на 25% быстрее, а тесты со строками пройдут и вовсе раза в два быстрее. Но на 64-м процессор работает на 25% медленнее! Процессоры и объемы памяти аппаратно идентичные, бэйсики почти одинаковые. В 264 добавлены несколько новых команд. Можно смело писать, что 64 в раза полтора быстрее на 3 года более позднего компьютера? А действительность гораздо сложнее, в 264 используют для бейсика всю ОЗУ (60 КБ), а в 64-м только 37 КБ. Это требует в 264 при каждом обращении к памяти для чтения использовать процедуры установки правильного банка памяти. А со строками может и вообще получиться конфуз. В 64 и 264 разные уборщики мусoра. В 64-м уборщик работает очень быстро до полного исчерпания памяти, потом происходит задержка на подчистку. В 264 память подчищают сразу. Поэтому чтобы реально сравнить эти почти одинаковые бейсики на почти одинаковых компьютерах на одинаковых строковых операциях нужны тесты, которые периодически заполняют всю динамическую память. Программы на машинных кодах, например, для математических расчетов могут выполняться на 264-х до 2.5 рах быстрее и это отражает реальное быстродействие железа, но не всего, а только процессоров. Скорость видео, имеющая определяющее значение для игр и графических программ, сравнить в целом почти невозможно. Можно использовать для сравнения объемы видеопамяти и скорость перерисовки всего экрана, но это не даст всей картины.
Кстати, компиляторы для коммодоровского бейсика очень качественные и позволяют пратически любою программу переносить в машинный код без усилий. Но машинный код там обычно не чистый, а на основе пи-кода, что ускоряет не так сильно как можно подумать. Вот на Амстраде с компиляторами для ПЗУ-бейсика похуже, но там работа с компиляторами - это уровень СР/М.
Бейсик это всего лишь одна из прикладных программ класса трансляторов. Трансляторы устроены весьма специфично и не похожи, например, на текстовые редакторы, базы данных, программы рисования и др. Чтобы говорить о скорости компьютера в целом, надо собирать данные по разным программам и не забыть про игры.
А вот пример, показывающий, как мало значения имели программы на чистом бейсике. Как много вы таких программ найдёте в архивах для БК и других компьютеров? Для некоторых компьютеров существуют большие архивы, но это, как правило, какие-то личные наработки и фирменные примеры, с маленькой ценностью. Для большиства, как уже писалось, бейсик был просто средой (ОС) для запуска нужных программ. Бейсики делались наспех, копировались с других машин, а их помещение в ПЗУ не позволяло их затем обновлять. Некоторые преимущества бейсика Амстрада и БК объесняются и их более поздним появлением, разработчиков не так гнали требованиями маркетологов и т.п.
Добавлю ещё о качестве бейсика в БК. Самый интересный и мощный оператор resume, возможности которого превосходят даже современную работу с ошибками через исключения - тут как, бывает, случилось полшага назад, на БК очевидно не присутствует. Собирался писать текстовый редактор на этом бейсике - невозможно.





Ответить с цитированием