Важная информация

User Tag List

Страница 6 из 6 ПерваяПервая ... 23456
Показано с 51 по 54 из 54

Тема: Почему Спектрум-бейсик такой медленный?

  1. #51
    Activist Аватар для SlashNet
    Регистрация
    16.08.2008
    Адрес
    Львов (Украина)
    Сообщений
    354
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Grand Посмотреть сообщение
    Результат меня удручил: соответственно 1,7с и 3,2с, - не в пользу Спектрума.
    На Энтерпрайзе ещё больше: ≈5с. (ещё в год анонса большинство рецензентов говорили, что бейсик тормозной)

  2. #52
    Activist
    Регистрация
    27.12.2016
    Адрес
    г. Запорожье, Украина
    Сообщений
    244
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MSX на Z80 посчитает за 4 сек (но у него точность выше), про Enterprise уже сказали. Вот Color Computer 2 на Motorolla 6809 справляется за 2 сек. и это при частоте меньше 1 MHz.

  3. #53
    Activist Аватар для AzAtom
    Регистрация
    05.04.2015
    Адрес
    г. Майкоп
    Сообщений
    292
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне кажется, именно выполнение самой команды, например, BORDER идёт очень быстро, а большую часть времени тратится на вычисление выражения. Разница по времени выполнения между BORDER 3 и BORDER x*2 довольно большая, что говорит в пользу этой версии. Да, наверное, можно было оптимизировать так, чтобы при наличии только одного явно указанного числа блок вычисления выражения не вызывался, а выдавалось это готовое число. Наверное, посчитали это бессмысленной оптимизацией на фоне остальных тормозов.

  4. #54
    Master
    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    961
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Бейсик не такой уж и медленный для своего времени. По сравнению с конкурентами (Apple ][, Atari, C64, MSX) работал весьма на уровне. РКшный бейсик был и того медленнее. Большинство этих бейсиков были токенизированные. Хотя и "прозрачно" для пользователя - тот не видел, что внутреннее представление программы имеет токены.

    Я внимательно изучал дизассемблер ПЗУ. Конечно, большого упора на оптимизацию по скорости там не делалось, но и явных ляпов тоже нет (кроме, разве что, CIRCLE). По большей части, проводилась оптимизация по размеру кода. И тут важен не только объем доступного ПЗУ, но и ограниченность адресного пространства Z80. Если бы для бейсика потребовалось не 16, а 32К - то столько же было бы откушено от легкодоступного ОЗУ, либо пришлось бы переключать страницы. А это потребовало бы аппаратной логики, которая в те годы была на вес золота. Найденный разработчиками баланс оказался очень удачным, чему свидетельство - успех проекта. И провал последующих проектов (Sinclair QL), где "золотая середина" найдена не была.

    Есть компилятор Laser Basic. Не знаю, как именно он работает; судя по звуку компилированных программ при записи на ленту, там как раз и идет преобразование в пи-код. По памяти впечатлений, которые я получил, когда игрался с этим компилятором 25 лет назад, ускорение было довольно существенным.

Страница 6 из 6 ПерваяПервая ... 23456

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 91
    Последнее: 30.07.2016, 10:37
  2. Ответов: 26
    Последнее: 23.07.2016, 01:38
  3. Руссифицированный бейсик
    от Den1982 в разделе Программирование
    Ответов: 16
    Последнее: 11.04.2016, 03:20
  4. Ответов: 6
    Последнее: 22.02.2010, 10:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •