User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 75

Тема: Почему BBC Basic так тормозит?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Почему BBC Basic так тормозит?

    Результаты просто невероятно тормозные. Как такое может быть?! Может кто что-нибудь подскажет, поможет нашим друзьям из Туманного Альбиона? Они там всё ж работают и с УКНЦ... Прикрепляю образ загрузочного диска для УКНЦ. После загрузки выходим из вильнюс-бейсика SYSTEM, затем запускаем RUN BBC и затем LOAD"MNDLB.ASC" и RUN.
    У меня пока есть предположение, что возможно бибисишный бейсик как-то переключается в пошаговый режим, но знаю как это проверить.
    bbcbasic.zip

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Или просто тормозная реализация.

  4. #3

    Регистрация
    19.11.2012
    Адрес
    г. Луганск
    Сообщений
    698
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Когда писал статью про компьютер Jupiter Ace наткнулся (картинку нужно увеличить, чтобы прочитать цифры) на сравнительный анализ бейсиков для разных компьютеров из которого следует что BBC Basic не такой уж и тормознутый.

    Этот пользователь поблагодарил PATHNK за это полезное сообщение:

    litwr(02.09.2021)

  5. #4

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PATHNK Посмотреть сообщение
    Когда писал статью про компьютер Jupiter Ace наткнулся (картинку нужно увеличить, чтобы прочитать цифры) на сравнительный анализ бейсиков для разных компьютеров из которого следует что BBC Basic не такой уж и тормознутый.
    Это известный факт, что BBC Basic на BBC Micro/Master быстрый. Он позволяет оптимально использовать целые. Хотя в целом его скорость больше обязана частоте процессора, чем качеству кода. Этот бейсик фирменно перенесли на Z80, 32016, ARM, x86 и возможно на какие-то ещё процы. Порт для PDP-11 немного левый, им занимается один энтузиаст. Сил не хватает, он ещё тригонометрию не сделал, сомневаюсь, что встроенный ассемблер работает.
    По моим представлениям, просто из-за качества кода в 300 раз медленнее быть не может. Вильнюсский бейсик на БК, если сравнивать с бибисишным, все равно чуть медленнее, несмотря на полукомпиляцию. Поэтому загадка торможения пока остаётся...

    - - - Добавлено - - -

    Цитата Сообщение от OrionExt Посмотреть сообщение
    меня радует litwr тестирую бейсики, он видимо серьезно относиться к этому?) только вот он забывает упануть какая там система плавающая запятая? вот даже уже не смешно.
    все тут так. куда не ступнуть
    Нужно разобраться почему так медленно, речь совсем не о том, что быстрее. Не понятно, как так получается.
    Что касается формата fp, то разницы большой быть не должно. Это несложно и проверить. Вот программка
    Код:
    10 C=0 : T=1 : Q=0.5
    20 C=C+1 : Q=Q/2 : S=T+Q : IF S<>T THEN 20
    30 PRINT "MANTISSA BITS: ";C
    40 REM TRAP 70
    50 C=0 : T=2
    60 C=C+1 : Q=T : T=T*2 : IF Q<>T THEN 60
    70 PRINT "MAX EXPONENT: +";C
    80 REM TRAP 110
    90 C=0 : T=0.5
    100 C=C+1 : T=T/2 : IF T<>0 THEN 100
    110 PRINT "MIN EXPONENT: -";C
    120 END
    На вильнюсском бейсике для УКНЦ почему-то по-умолчанию используют формат 3+1 (на БК ПЗУ Бейсике - 7+1), на BBC Basic всё как всегда 4+1 (4 байта на мантиссу и 1 на порядок). Это может дать разницу максимум на треть, а не в 300 раз...

  6. #5

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Этот бейсик фирменно перенесли на Z80, 32016, ARM, x86 и возможно на какие-то ещё процы. Порт для PDP-11 немного левый, им занимается один энтузиаст. Сил не хватает, он ещё тригонометрию не сделал, сомневаюсь, что встроенный ассемблер работает.
    а порты для перечисленных - с ассемблерами?
    Прихожу без разрешения, сею смерть и разрушение...

  7. #6

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    а порты для перечисленных - с ассемблерами?
    Вроде для Z80, ARM, x86 и даже ARM-64 и х86-64 ассемблеры есть. Кстати, есть ещё порты для 6809, 68000, 65816 и 6309, но как там с ассемблерами не знаю. Встроенные ассемблер - очень хорошая вещь для компилятора, но для интерпретатора это скорее спорное подспорье. Потому что приходится постоянно хранить в памяти как исходник, так и код. Кроме того, ассемблер интерпретатор должен компилировать, а это если код большой, это может вызвать неожиданную задержку.
    Добавлю ещё, что есть вариации BBC Basic с праздничным названием Бренди - эти вариации ассемблера не поддерживают принципиально.

    - - - Добавлено - - -

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Имхо надо просто автору сказать что мол "тормозит из-за вот этого". (показать в моем посте код для Execute). Он вызывает EMT 340(8) аж два раза.
    Запостил - https://stardot.org.uk/forums/viewto...333283#p333283
    EDIT. И, конечно, очень Вам благодарен.

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Ну это как-раз и не странно. Сравнивать эмулятор просто системы RT-11 с эмулятором реального железа это скажем-так - неправильно. (типа соленое круглее чем красное получится).
    Мы не системы сравниваем фактически, а как бы разные варианты PDP-11. Как известно тайминги у разных моделей могут различаться очень сильно. Поэтому возникает предположение, что на каких-то моделях PDP11 бибисишный бэйсик может быть реально быстрее вильнюсского...

    - - - Добавлено - - -

    Цитата Сообщение от Hunta Посмотреть сообщение
    Никакого специального портирования RT-11 на УКНЦ не требуется.
    Попробовал запустить на УКНЦ вильнюсский бейсик с ДВК - запустился, но любая попытка обратиться к файловой системе бейсик ломает. Естественно предположить, что RT-11 для УКНЦ как-то не совсем стандартно работает с дисками. И это при том, что в эмуляторе RT11 бейсик с ДВК работает отлично.
    Последний раз редактировалось litwr; 04.09.2021 в 10:00.

  8. #7

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Естественно предположить, что RT-11 для УКНЦ
    Или взять стандартный дистрибутив RT-11, добавить драйвер MZ и убедиться, что больше ничего для запуска RT-11 на УК-НЦ не требуется

    - - - Добавлено - - -

    Вот тут я именно это и сделал. Скопировал файлы с дистрибутива RT-11 5.7, добавил MZ.SYS, HD.SYS и программу ClkOn (она подсказывает RT-11, что есть таймер и что он 50 Гц) и вауля - я ПОРТИРОВАЛ RT-11 на эмулятор Патрона, эмулятор УК-НЦ от Никиты и на реальный УК-НЦ. Какой я молодетс!

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    litwr(05.09.2021)

  9. #8

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    Попробовал запустить на УКНЦ вильнюсский бейсик с ДВК - запустился, но любая попытка обратиться к файловой системе бейсик ломает.
    Ну и что бы добить

  10. #9

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    609
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от litwr Посмотреть сообщение
    а BBC Basic всё как всегда 4+1 (4 байта на мантиссу и 1 на порядок)
    Т.е. предположительно порт на PDP оперирует данными по-спектрумовски - исключительно байтами? И наверное ещё и для вычислений использует всего один регистр в качестве аккумулятора, да ещё и только мл. байт его, после каждой операции очищая ст. байт. Тогда не удивительно, что он будет жутко тормознутый, если функции умножения деления плавающих чисел вычислять 8ми битными алгоритмами.

  11. #10

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сам по себе язык не может быть тормознутым или быстрым. Тормознутой или быстрой может быть его конкретная реализация.

Страница 1 из 5 12345 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 15
    Последнее: 09.09.2021, 14:27
  2. BBC Basic for PDP-11
    от zx_ в разделе БК-0010/0011
    Ответов: 3
    Последнее: 02.09.2020, 19:51

Ваши права

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