Испытания

Mandelbrot graphic test (DM42)

Пользователь форума швейцарских калькуляторов wawachief выложил программу Mandelbrot graphic test.

Результат в высоком разрешении на моем DM42:
Mandelbrot

Текст программы:

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

Программа 8 Ферзей для DM42/Free42

00 { 67-Byte Prgm }    22 X=0?
01▸LBL "NQUEENS"       23 GTO 00
02 CLRG                24 RCL IND 00
03 8                   25 RCL IND 09
04 STO 11              26 -
05▸LBL 00              27 X=0?
06 RCL 00              28 GTO 03
07 RCL 11              29 ABS
08 X=Y?                30 RCL 00
09 GTO 04              31 RCL 09
10 ISG 00              32 -
11 DEG                 33 X≠Y?
12 STO IND 00          34 GTO 02
13▸LBL 01              35▸LBL 03
14 ISG 10              36 DSE IND 00
15 DEG                 37 GTO 01
16 RCL 00              38 DSE 00
17 STO 09              39 GTO 03
Метки публикаций: 

Тест "Счастливые билеты"

В книге "Систематический подход к программированию"[1, стр. 100] из популярной серии приводились примеры реализации алгоритма поиска "счастливых" билетов. Книгу я использовал в процессе учёбы, поэтому некоторые моменты осели на чердаке памяти. Спустя почти 30 лет появилась идея использовать алгоритм перебора для оценки качества генерируемого компиляторами кода.

Calculator Performance Index Каллисто

Измерил быстродействие Каллисто на «Электронике МК-161» по тесту Calculator Perf

Быстродействие: пустой цикл

Товарищ AtH предложил нам тест быстродействия, основанный на измерении времени выполнения пустых циклов. Однако, интерес представляют собой не только абсолютные величины, но и соотношение с тактовой частотой процессора, говорящее об эффективности программы (в случае ассемблера) или прошивки, на которой она выполняется.

С момента первого измерения быстродействия в версии 0.1.1a было внесено много изменений, в том числе влияющих на скорость работы Каллисто. Громоздкий DO LOOP был изменён на FOR NEXT из colorForth, создан удобный инструмент (он грузится из блока 42) для измерения быстродействия. Измерение проведено в альфа-версии версии 0.6a:

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

Ниже приводим описания тестов и результаты для различных моделей калькуляторов. Если вы не нашли в списке свою модель, просим вас провести тест самостоятельно и добавить полученные результаты.

Описания тестов

Тест 1

Вычисление значения 1,0000001 в 2 27 степени (т.е. 1,0000001 в степени 134217728) путем 27-кратного возведения в квадрат (или умножения на себя) очередного полученного значения. Тест проверяет количество разрядов в числах и качество округления.

В качестве отправной точки поиска кратчайшей программы по переводу десятичного числа в шестнадцатеричную форму был предложен первый вариант программы на 67 шагов с использованием регистров памяти, которую автор предлагает использовать за основу и сократить.

Benchmark 8 ферзей: итоги

Описание теста, программы и собственно процесса здесь, результаты выносим. Время счета - 8 секунд. Это означает, что МК-152:

- примерно в 1300 раз быстрее старых моделей (Б3-34, МК-54/56, МК-61/52)

Benchmark 8 ферзей

Поиск расстановки 8 ферзей на шахматной доске используется для измерения скорости вычислений ПМК. Результаты зарубежных моделей можно увидеть, например, здесь Calculator Benchmark.

В журнале "НиЖ" в свое время был даже объявлен конкурс на создание подобной программы. Найти оригинал статьи мне пока не удалось, помню только, что время счета измерялось часами, альтернативой перебору вариантов предлагался метод Монте-Карло. Впрочем, на времени ожидания результата это сказывалось незначительно.