Для тестов, конечно, лучше по возможности использовать УКНЦ, близкий по скорости к большинству измерявшихся экземпляров (т.е. «быстрый», а не «медленный»). Усложнять процесс измерения, мне кажется нет особого смысла – точность измерения секундомером (я использую обычные электронные часы с секундомером, довольно удобно применять и смартфон) – не хуже 0,3 сек (с учётом скорости реакции человека на визуальный сигнал порядка 0,15-0,2 с). Поэтому при длительности теста в несколько десятков секунд погрешность измерения будет порядка 1% и меньше, чего вполне достаточно (если тест выполняется слишком быстро – за доли секунды или несколько секунд, то, безусловно, надо увеличить в программе на Бейсике число повторений с 1000 до 10000, 30000 и т.д.). Т.е. я ввожу RUN нажимаю Enter и сразу запускаю секундомер, а когда появляется приглашение на ввод строки (т.е. тест заканчивается) или надпись, предусмотренная в программе для сигнализации об окончании теста, соответственно нажимаю на секундомере СТОП.
По большому счёту, для сравнения скорости Бейсика с другими ПК или между эмулятором и реалом хорошо бы выполнить на УКНЦ несколько тестов из линейки БМ1-БМ8 (для них есть много результатов на других ПК, причём измеренных на реальных машинах) – например, БМ1 (FOR/NEXT), БМ3 (простая арифметика), БМ7 (работа с массивами и подпрограммами плюс простая арифметика) и БМ8 (вычисление относительно сложных функций – квадрата, логарифма и синуса), а также, наверное, важно протестировать скорость вывода текста на экран (здесь вроде бы должен хорошо задействоваться ПП УКНЦ) и скорость рисования графики – скажем, линий, окружностей и закраски. Тогда можно прояснить два важных вопроса – отличие в скорости между эмуляторами и реальным УКНЦ (это важно как для совершенствования эмуляторов, если авторы не против этим заняться, так и для сравнения реальной скорости работы УКНЦ относительно БК и других ПК тех лет, что, безусловно, очень интересно для истории).
Вот сами тесты ВМ1, ВМ3, ВМ7 и ВМ8 (число итераций во всех тестах изначально – 1000, но я увеличил его для УКНЦ в 10 и более раз):
Benchmark 1
20 FOR k=1 TO 30000
40 NEXT k
FOR-NEXT loops are one of the commonest constructs in BASIC and if they are slow then all programs are likely to be slow
Benchmark 3
20 LET k=0
30 LET k=k+1
40 LET a=k/k*k+k-k
50 IF k<10000 THEN GOTO 30
This time some calculations are done inside the loop. This tests the speed of the arithmetic operators and also of accessing variables. For the benchmarks all variables are assumed to be of floating-point type.
Benchmark 7
20 LET k=0
25 DIM m(5)
30 LET k=k+1
40 LET a=k/2*3+4-5
45 GOSUB 700
46 FOR l=1 TO 5
47 LET m(l)=a
48 NEXT l
50 IF k<10000 THEN GOTO 30
700 RETURN
This assigns a value to each of the array elements every time through the loop. How much slower this is than benchmark 6 indicates the efficiency of array access.
Benchmark 8
20 LET k=0
30 LET k=k+1
40 LET a=k^2
45 LET b=LOG(k)
47 LET c=SIN(k)
50 IF k<1000 THEN GOTO 30
The final benchmark uses the more advanced mathematical functions of raising to a power (usually implemented using logarithms), calculating logarithms and calculating trigonometric sines.
А вот таблица известных мне результатов этих тестов на разных ПК в штатных версиях Бейсика (зарубежных – на реальных ПК, наших – в основном на эмуляторах); все результаты приведены для 1000 итераций; все результаты в секундах, т.е. чем больше, тем медленнее:
Тесты графики можно взять из моего ролика в Ютубе (там есть результаты для разных наших и зарубежных ПК, но все в эмуляторах): https://www.youtube.com/watch?v=UJZp...qikwd&index=15
Если нужно, могу выложить здесь программы тестов графики на Бейсике в текстовом виде.
---------- Post added at 09:45 ---------- Previous post was at 09:41 ----------
Так я тоже поклонник PDP-11-совместимых – у меня первым домашним ПК был БК-0010, а в институте довольно много писал для ДВК. Я тоже считаю, что наши 16-битные ПК (включая домашние и учебные) – это как бы настоящие компьютеры, а 8-битные – вроде как игрушки (хотя и среди 8-битных были несомненные шедевры – Вектор, Корвет, ПК8000, да и просто Специалист (а затем Орион) многие считают гениальным ПК). Поэтому и уделяю столько внимания УКНЦ (а заодно и БК), пытаясь прояснить «белые пятна» в их параметрах – цены, реальную скорость (в том числе в сравнении с зарубежными ПК тех лет), возможности графики и т.д.
Очень интересно было бы узнать что-то о Союз-Неоне ПК-11/16, кроме формальных характеристик, поскольку он – вообще одно сплошное «белое пятно», о нём почти ничего не известно: ни цены, ни объемы выпуска, ни история разработки и внедрения, даже со сферой применения не всё ясно – то ли это сравнительно дешёвая профессиональная «графическая станция» (учитывая особенности видеоадаптера и большой объем памяти), то ли дорогой домашний ПК, причём с явным игровым уклоном (учитывая изначальную поддержку джойстиков, самый продвинутый звук среди всех чисто советских ПК и опять же многоцветный многооконный видеоконтроллер).
А сравнение УКНЦ с «Корветом» вполне естественно – это же основные наши учебные ПК конца 80-х-середины 90-х (не считая значительно более простых БК-0010/0011), причём ПК абсолютно разные и прямо конкурировавшие друг с другом, поэтому сравнивать их очень интересно. Кстати, будучи большим поклонником наших PDP-совместимых, я, например, далёк от какого-то пренебрежительного отношения к 8-битным моделям – в качестве домашних ПК они были практически идеальны, поскольку были просты и недороги, но при этом достаточно быстры и нередко имели прекрасные графические и звуковые возможности (собственно, те же наши классические домашние БК по простоте архитектуры очень похожи на 8-битные модели (и даже проще многих простых 8-битных!) и явно отличаются от ДВК с УКНЦ).
---------- Post added at 09:55 ---------- Previous post was at 09:45 ----------
В качестве монитора я как раз предполагал "колокольчик" (МС-6105), который стоил около 500 руб. Наверное, и родной ч/б монитор не должен был быть намного дороже (дороже 500 р. стоили уже большие цветные ТВ).






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