Первый бенчмарк Форта-161, версия 0.1.1a

В альфа-версии Форта 0.1.1a для «Электроники МК-161» заработали циклы. Одновременно, листая старый журнал «Байт» за 1980 год, я обнаружил простейший бенчмарк для Форт-системы, основанный на измерении скорости пустого цикла. Решил применить к Форту-161. Высоких результатов я не ожидал, т.к. этот Форт пришлось делать поверх не машинных команд, а входного языка «Электроники».

Заполнил таблицу значениями из «Байта» и своими измерениями на «Электрониках»:

«Электроника МК 56» 1000 циклов за 362,72 с = 2,76 циклов/с
Форт-161, v0.1.1a 10000 циклов за 380,29 с = 26,3 циклов/с
Apple Integer BASIC 30000 циклов за 40 с = 750 циклов/с
«Электроника МК-161», ЯМК 30000 циклов за 12,97 с = 2313 циклов/с
Форт для Apple II 30000 циклов за менее 4 с = более 7500 циклов/с

Программа, измеряющая пустые циклы на входном языке «Электроники МК-161»:

00. Сх
01. 3 ВП 4
04. П0
05. 65535
10. П9
11. РРП 9050
14. FL0 14
16. РРИП 9050
19. ИП9
20. ↔︎
21. -
22. ВП 2 /-/
25. С/П
26. БП 00

Программа для настольной «Электроники МК 56» проще (время измерялось по встроенным часам «Электроники МК-161»):
00.FL0 01.00 02.С/П

Конечно, Форт ещё будем улучшать. Но это возможность сравнить с другими системами (в том числе будущими версиями Форта) и понять, какие задачи имеет смысл выполнять на Форте-161. А какие он пока не потянет. Я бы не ожидал ускорения в десять раз — если не переходить на уровень машинного кода, ускорение даже в 2-3 раза будет чудом.

По этому тесту сейчас Форт-161 медленнее родного языка «Электроники МК-161» в 88 раз и быстрее советской «Электроники МК 56» в 9,5 раза.

Метки публикаций: 
Undefined

Комментарии

Хорошо, таким образом у нас появился новый тип теста производительности впридачу к "Звездному небу" и "8 ферзям".

Сейчас я вплотную занимаюсь Фортом и его быстродействием. Но если кто-нибудь из владельцев HP, Casio и т.п. умеет и может сделать замеры 30000 пустых циклов на разных входных языках (от RPL до ассемблера) — буду рад включить результаты в общую таблицу.

«Звёздное небо» можно быстро реализовать и на Форте, и на «Электронике МК-161». Кто-нибудь делает сводную таблицу этого теста?

Тесты для HP 50g и HP 35s вместе с другими свел в общую таблицу
http://pmk.arbinada.com/node/1203