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

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

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

- находится на уровне следующих зарубежных моделей:
9.07 сек: FX-9860G Formula / Structured / Matrix / Fast Mode x1.9 (20->80 MHz)
8.80 сек: FX-9860GS Formula / Structured / Matrix / Fast Mode x1.9 (20->80 MHz)
~8.3 сек: TI-Nspire Formula / Structured / List / Ver.1.2 CAS

- оставил далеко позади такие популярные модели, как:
34.2 сек: TI-85 Formula / List / Turbo x3.3
53.1 сек: TI-89 Formula / Structured / List / HW2 / Turbo x2.0
~67 сек: HP-50G UserRPL / Fast Mode x1.3 (75->203 MHz)

Результат по маркам TI и HP несколько неожиданный. TI-89 - современная популярная марка, а HP-50g - практически новая модель (при частоте процессора 203 МГц). Возможно, знатоки этих линеек ПМК смогут прокомментировать итоги.

Наиболее очевидное объяснение - язык ПМК низкоуровневый, близок к ассемблерам (но фактически выполняется в рамках встроенного интерпретатора), тогда как входные языки вышеназванных флагманов - интерпретируемые и высокого уровня.

Обновление от 16 декабря 2007.

По итогам обсуждения на форуме HP, наш результат включен в общий список. Как можно видеть, результат находится на пределе возможностей основных входных языков других ПМК. Быстрее исполняются разве что скомпилированные C/pascal/assembler-программы и скомпилированный байткод для OPL/Lua на более мощных устройствах, например, Psion, близких уже к КПК, а не к ПМК.

Спасибо всем участникам теста!

Обновление от 23.10.2013 г.

Новый ПМК HP Prime с программой на встроенном языке типа "паскаль-скрипт" проходит тест всего за 0,4 сек! Впечатляющая скорость языка высокого уровня на уровне мнемокода и ассемблеров старых моделей.

- 0.55 HP-41CL Mcode / Turbo20 Mode x19.6
- 0.4 HP-Prime Formula / List
- 0.385 PC-1360 Assembly / SC61860 @ 1.6 MHz / Turbo x2.1

Еще большая разница по сравнению с прежними моделями видна на тесте "Звездное небо".

Undefined

Комментарии

HP-50GОни поставили в HP-50g ARM9 процессор, который выполняет эмулятор процессора Saturn, который и выполняет тестовую программу. Если написать на С, используя компилятор и SDK то результат будет выше как минимум на порядок а то и на два.

А если написать на ассемблере однокристалки МК51 и прошить в МК-152, результат будет ещё быстрее. Но мы, всё же, сравниваем входные языки калькуляторов. Какой из них быстр с точки зрения обычного владельца, для которого разрабатывался соответствующий входной язык.

Я обычный владелец и ничто не мешает мне писать программы на компьютере. Учитывая отличную интеграцию одного в другое, нет необходимости прямого использования ПКМ. Следовательно, это личный выбор каждого, писать на компьютере или на калькуляторе. Исходя из этого, я просто не вижу смысла в рассматривании отдельно взятых частей теста, приведенного здесь http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=700 . Это не отражает всю картину использования того же TI-89 и утверждение *МК-152 оставил далеко позади* оный калк я не считаю истинным, ибо это сравнивнение аналогично сравнению двух автомобилей по параметру максимальная скорость, используя лишь одну передачу, имея возможность с легкостью переключиться на другую.

Данный тест и "не отражает всю картину использования", предполагая только проверку вычислительной мощности на основном входном языке.
Проверка убедительно показывает что по данному критерию "МК-152 оставил далеко позади" упомянутые модели.

Я просто хотел сказать что данный тест не имеет смысла, так как TI-89 и МК-152 это продукты разных классов, они направлены на разную целевую аудиторию. И если для пользователя МК-152 удобнее писать проги именно на нем, то для меня, студента, гораздо удобней использовать компьютер, вместо того, чтобы изучать то же на калькуляторе. Время стоит денег и немалых. Это все равно что сравнивать смартфон и телефон, у каждого из девайсов своя ниша.

Данный тест имеет смысл именно для целевой аудитории, а именно пользователей
МК-152. Им интересно знать, насколько быстро данная ПМК работает со своим
входным языком (как уже было упомянуто выше), без использования РС, кросс-компиляторов
и т.п.
Опять все скатывается к пальцерастопыриваниям а машина все-равно круче велосипеда

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

Данный тест имеет смысл только в случае сравнения с продуктами из своей же целевой аудитории, из своей ниши - настольных ПМК для инженеров. Вы ведь не будете сравнивать Порш и Жигули, не так ли? Одна машина для одних людей, другая для других.

В данном случае ниша МК-152 достаточно своеобразная, чтобы найти аналоги.
Так что сравнение таки имеет смысл, повторюсь, для владельцев ПМК
/Жигулей, надо понимать из Вашей аналогии/.

К тому же, почему бы не ожидать появления карманного варианта МК, тогда целевые
аудитории перемешаются.

Не вижу смысла в продолжении спора.

---------------------------
Истина где-то рядом
www.litres.ru/vitaliy-samurov/dozvonitsya-do-devy/

К сожалению МК-152 и тут далеко позади. Судя по всему HP 50G уже реабилитировался

- 15.28 MK-161 Keystroke / RPN / Ver.1.03
- 14.91 MK-152 Keystroke / RPN / Ver.1.15
- 14.65 MK-152 Keystroke / RPN / Ver.1.05

Против

- 1:30 HP-50G UserRPL
- 1:07 HP-50G UserRPL / Fast Mode x1.3 (75->203 MHz)

В своё время я фанател по ПМК, вводил программы из журналов, очень нравились игры и думаю сейчас у таких игр вполне есть ниша. Но в свете результатов теста приходится признать, что у калькуляторов МК кроме возможной влагозащищенности и существования в качестве простейшего контроллера для лабораторного оборудования нет никакого смысла существования.

Язык программирования МК-152 подобен ассемблеру без преимущества скорости последнего. Зарубежные калькуляторы
не только имеют обширные библиотеки функций, возможность оперировать высокоуровневыми объектами вроде матриц, списков,
строк и т.п., но уже являются полноценными символьными вычислителями. Тем более что например RPL - это всё-таки Lisp -
основной язык символьных вычислений.

Удручает что создатели МК-152, проделав большую работу, в том числе по созданию портативного варианта видят будущее развитие этих устройств в прошлом. Кому нужны библиотеки на ассемблероподобном языке в 21-м веке ??? Самый лучший способ - портировать полезные наработки в высокоуровневое представление, таким образом сделать реально доступным людям. Будущее карманного вычислителя это CAS, логическое и вообще символьное программирования, решение интеллектуальных задач.

Правильные результаты. Доброе Утро !

Судя по всему HP 50G уже реабилитировался

Что значит "реабилитировался" ?
Как было 67 секунд, так и осталось - одна минута и семь секунд.
И вообще, брать разогнанный вариант некорректно : не у всех заработает, а если и заработает, то сколько он будет потреблять в этом режиме и, соответственно, как долго работать от одного комплекта питания...
Так что 90 секунд - 1:30 - HP 50g, 75 МГц, UserRPL.

Для МК-152/161 опубликован ( msvk40 ) более быстрый и правильный вариант тестовой программы :

Снова 8 ферзей
http://community.livejournal.com/mk_152/29022.html

И результат теста для МК-161 : 11,96 с.

_________________
Dima Masalov
FIDO-NET - 2:461/43.9
E-MAIL - mds at ire dot kharkov dot ua

Доброе Утро !

_________________
Dima Masalov
FIDO-NET - 2:461/43.9
E-MAIL - mds at ire dot kharkov dot ua




Во-первых вы не умеете считать не смотря на кучу около компьютерной лексики. HP50 существенно медленнее мк161 при использовании встроенного языка.
Во-вторых купите себе какой-нибудь планшет со встроенной камерой и микрофоном, подцепите через USB к нему клавиатуру, поставьте на него LISP и получите калькулятор своей мечты. :)

Да. Поэтому наиболее важная цифра в сравнении - увеличение скорости вычисления в 1300 раз по сравнению с МК-56 (это один класс), а значит и со всеми прежними моделями ПМК.
Сравнение с зарубежными моделями сделано только потому, что исходной точкой был их список. В нем, кстати, тоже много устройств из совершенно разных ниш.

Ускорение в 1300 раз имеет значение. Кстати, для меня эти 1300 раз имеют вполне практический смысл. Т.к. я использовал старые программы на МК-56, например этой весной. Эмуляторы меня не устраивали в первую очередь неудобным интерфейсом. Теперь же, имея МК-152, я могу эти программы использовать, практически не тратя времени на ожидание ответа.

Но главное для меня, конечно, не скорость. С чудовищно выросшим объёмом памяти программ и данных появилась возможность вывести программы цикла Кон-Тики на качественно новый уровень. При полном сохранении духа и привычного интерфейса любимой игровой эпопеи.

Согласен, что ускорения важно и 1300 раз это вполне достаточно.
Я так же столкнулся с неудобством работы эмулятора. Однако, решение было найдено в совместном использовании эмулятора и HiASM (http://www.hiasm.com). Это среда где программа рисуется, а не пишется. Это больше напоминает рисование печатной платы, где подпрограммы-функции в роли микросхем. Реализовать математический алгоритм таким способом очень сложно. Однако, нарисовать интерфейс легко. Добавление модуля выполняющего программы МК-61 позволило делать готовые отлаженные программы за час. Например, программа вычисления Восхода-Захода солнца из журнала Радио конца 80-х выглядит вполне симпатично. http://numbers.newmail.ru/My/Voshod.zip . Я вынужден был немного усложнить алгоритм для определения даты перехода на летнее время и обратно. Это потребовало использования так же популярной всеми программ "Вечный календарь". Такая технология позволяет избежать неудобства интерфейса эмулятора и не тратить время на создания алгоритма. Разумеется, это целесообразно для часто используемых программ. Есть и минус - это постоянно развивающаяся система HiASM. Так как она бесплатная, то вынуждена была переезжать с Дельфи на Свободный Паскаль. Это породило несовместимость с некоторыми отлаженными модулями.
Скорость эмуляции очень хорошая. Так я запустил в цикле 10000 раз тест с http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/articles.cgi?read=700 время вычислений составило около 46 до 57 секунд (в зависимости от влюченного или отключенного контроля ошибок). Таким образом время вычислений 0,005 с. Это означает, что эмуляция на AMD Turion TL-50, Windows XP + SP2 была быстрее МК-152 приблизительно в 1600 раз. Однако, для реального калькулятора скорость МК-152 более чем достаточна.

Журнал "Радио" > Например, программа вычисления Восхода-Захода солнца из журнала Радио
> конца 80-х выглядит вполне симпатично.

А какие конкретно номера "Радио" имеются в виду?
В нашей Библиотечке не нашёл…

Вы привели для сравнения варианты для программ, написанных на TI-Basic'е и UserRPL соответственно. Они, мягко говоря, вялые. В той же таблице на втором месте с конца можно наблюдать HP-50G с результатом 0.000779 сек при использовании C и TI-89 (4 позиция) с результатом 0.0183 сек при использовании ассемблера.

Все верно потому что TI-Basic и UserRPL являются основными входными языками данных ПМК, а Си и ассемблер - не являются.

Лично мне важна конечная скорость расчетов в данном случае. Если у меня есть возможность написать программу, используя компьютер и Си, при этом выигрывая в производительности многократно, зачем я буду писать ее на калькуляторе? Перекинуть ее на ПМК минутное дело, следовательно я выберу более рациональный подход к этому делу.

Предметом испытаний является скорость вычислений на устройстве с использованием основного входного языка.

Переписал программу для Calc (Java-калькулятор для мобильныков, http://midp-calc.sourceforge.net/Calc.html ):

mem/clear     
stack/clear   
time          
STO 0         
8             
STO 10        
LBL 0         
1             
STO+12        
RCL 10        
RCL 12        
STO[x]        
LBL 1         
1             
STO+11        
RCL 12        
STO 13        
LBL 2         
1             
RCL 13        
x<=y          
GTO 9         
-1            
STO+13        
RCL 12        
RCL[x]        
STO 9         
RCL 13        
RCL[x]        
+/-           
STO+9         
RCL 9         
x=0           
GTO 8         
RCL 12        
RCL 13        
-             
RCL 9         
abs           
x!=y          
GTO 2         
LBL 8         
0             
STO 11        
-1            
RCL 12        
STO+[x]       
LBL 5         
RCL 12        
RCL[x]        
x!=0          
GTO 2         
-1            
STO+12        
RCL 12        
STO+[x]       
GTO 5         
LBL 9         
RCL 11        
1             
x!=y          
GTO 1         
RCL 10        
RCL 12        
x!=y          
GTO 0         
stack/clear   
time          
RCL 0         
-             
1e4           
*             
round         
STO 0         
mem 5

***

       RB := 0;
       RC := 0;
       RA := 8;
       repeat
        inc(RC);
        a[RC] := RA;
          repeat
          inc(RB);
          RD := RC;
 L2:
          if RD - 1 <= 0 goto L1;
            dec(RD);
            R9 := a[RC] - a[RD];
              if (R9 <> 0) and (RC - RD <> abs(R9)) goto L2;
              RB := 0;
              dec(a[RC]);
 L5:
              if a[RC] <> 0 goto L2;
                dec(RC);
                dec(a[RC]);
                goto L5;
 L1:
         until RB = 1;
      until RC = RA;
      stop;

Результат - в ячейках память 1-8, время выполнения - на экране и в регистре 0.
На Nokia 6230i выполняется за 7 сек.

Интересно SHARP PC G850 справился с задачей за 5.38 сек (С)