можно попробовать как-то то снять трассу выполнения интерпретируемой и компилированной программы - но подозреваю что под это надо ещё инструменты писать.
Вид для печати
Только это был не Ленин, а временное правительство. И не в 1918-м году, а в 1917-м. А вообще, данная реформа русского языка готовилась ещё при царе и людьми, далёкими от большевизма и революционной деятельности.Цитата:
. Даже В.И.Ленин, который в 1918 отменил некоторые буквы, на букву 'ё' не покусился
mmxdmv, вроде как tobos, использует свой калькулятор и формат хранения чисел ("Диалекты Spectrum-бейсика", изд. Питер).
Попутно, накладывается ограничение на некоторые операторов (где-то полностью, в других случаях, частично теряем ряд фукций операторов).
А если использовать целочисленные компилляторы, прирост скорости выполнения получается еще больше.
Разница громадная, примерно как с парсером и без парсера. Интерпретатор обрабатывает дерево выражений, всегда проверяя синтаксис и тип значений. Компилятор уже знает порядок выражений и делает вызовы калькулятора подряд. Без проверки синтаксиса, типов выражений и много еще чего.
Вот и сейчас надо не лениться и почитать комментарии к интерпретатору (1b8a) и, возможно, калькулятору (335b) - это не "Война и мир" авось. И тут же найдутся ответы на все вопросы.
Нормальный Васик на Спектруме был. Когда быстродействия не хватало, но память свободная оставалась - тоже пользовался этим
https://en.wikipedia.org/wiki/ToBoS-FP
На фоне других Бейсиков - спекковский был нормальным компромиссом между точностью и скоростью вычислений (для 8-и битных машин). Кстати - автору темы можно попробовать ToBoS для своей программы - должно быть быстрее :)
это конечно хорошо
но по моему ему при этом самому нужно было находится в памяти в месте с скомпилированной программой
а еще была интересная возможность
скомпилировать и вызывать из другой бейсиковской программы
токо уже не помню как из этого тобоса возвращаться обратно
как то возвращался (может просто go to на адрес больший самого последнего?)
и бейсиковские адреса у обоих программ пересекались :v2_dizzy_turn:
не помню сохранялись ли переменные после этого :v2_conf2:
Правильно помните. Ему, как и почти всем, требовалось находиться в памяти при компиляции и работе скомпилированного блока.
Целочисленный MCoder2, Евдокимова в этом отношении был куда интересней.
По команде оператора STOP. ЕМНИП, компиллятром она не воспринималась как конец программы.
Недавно я делал сравнительный замер секундомером времини выполнения этой простой BASIC-программы в эмуляторе BBC Micro (BeebEm 4.14, эмуляция BBC Model B в реальном времени) и в эмуляторе UnrealSpeccy (эмуляция в 128 BASIC тоже в реальном времени).
Результат меня удручил: соответственно 1,7с и 3,2с, - не в пользу Спектрума.Код:10 FOR N=1 TO 50
20 LET A=COS (N)
30 NEXT N
40 PRINT A