litwr, может я путаю, но на момент работы над версией для вектора были две контрольные точки: 100 и 1000, других я не делал. На мой взгляд 1000 - сравнительно универсальный вариант, без проблем влезает на экраны большинства компьютеров. Конечно можно результат с бОльшим числом цифр выводить/сохранять как-то иначе.
Что касается неоптимальности и конкретного кода - код все
тот же.
Я обещал
b2mу не делать версий для других компов, кроме вектора (и клонов), поэтому других версий нет. Но примерно оценить, как тот код работал бы на корвете, можно.
Векторовская версия:
100 - 2.7568 сек
1000 - 280.9320 - 4 мин 40.9320 сек
В emu можно изменить тактовую в конфиге вектора на 2.5 МГц и отключить векторовское торможение. Тогда получатся такие цифры:
100 - 2.6968 сек
1000 - 275.7000 - 4 мин 35.7000 сек
Для корвета, если постараться, будет даже чуть-чуть быстрее, т.к. можно использовать вывод на текстовой экран 64x16.
Т.е. заметно быстрее Вашей текущей версии, а 100 цифр - быстрее БК0010. Если бы в 2016 векторовская версия отставала от БК - я бы продолжил оптимизацию. Как я понимаю, с тех пор БКшная версия стала побыстрее, а мой вариант Вы отбросили (вероятно из-за сравнения по варианту 3000 цифр, который я не делал), в итоге 8080 проиграл 1801ВМ1, ловко получилось.