John's Vademecum

Try to learn something about everything, and everything about something -Thomas Huxley “Darwin's bulldog” (1824-1895)

User Tools

Site Tools


public:calculator:info:benchmarking

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
public:calculator:info:benchmarking [21/01/26 07:26 GMT] johnpublic:calculator:info:benchmarking [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-<-[[.:start]] 
- 
- 
-====== Benchmarking ====== 
- 
-There is information on HP Calculator Benchmarking online at the HP Museum 
- 
-[[https://www.hpmuseum.org/speed.htm|Benchmarking]] 
- 
-I've used the pseudoCode to test out my own calculators. 
- 
-===== HP Museum Maths Benchmark ===== 
- 
-++++ psuedo code | 
- 
-<code> 
-LBL <whatever> 
-0 
-STO 2 
-1.01234 EEX 6 
-STO 0 
-2.345 
-STO 1 
-<loop> 
-RCL 1 
-RCL 0 
-* 
-RCL 1 
-- 
-RCL 0 
-/ 
-RCL 1 
-* 
-3.5 
-/ 
-SQRT 
-1 
-STO+ 2 
-GTO <loop> 
- 
-</code> 
- 
-++++ 
- 
-This needs tweaking for each calculator, some have ''alpha'' register names, some ''numeric''. The handling of the <loop> is different in each calculator,too. 
- 
-The PRG is run for 1 minute and the result is found in register 2 (or wherever). 
- 
-===== HP Museum Trig Benchmark ===== 
- 
-++++ pseudo code | 
- 
-<code> 
-LBL <whatever> 
-56.26 
-STO 0 
-0 
-STO 2 
-<loop> 
-RCL 0 
-SIN 
-ASIN 
-COS 
-ACOS 
-TAN 
-ATAN 
-LN 
-e^x 
-1 
-STO + 2 
-GTO <loop> 
- 
-</code> 
- 
-++++ 
-==== Results ==== 
- 
-^Date^Calculator^Serial No^Maths Result^ Maths % ((versus HP9100 : 679))^Trig Result^Trig %((versus HP9100 : 40))^Comment^ 
-| 12/01/26| DM15L * | 21350 | 99,869 | 14,708% | 17,306 | 43,265% | 3rd Party Firmware : LF15C_250408 {{ :public:calculator:info:lf15c_250408.hex |}} | 
-| 21/09/24 | DM15L * | 21350 | 68,791 | 10,131% | 14,159 | 35,397% | 3rd Party Firmware : LF15C_beta_240920.hex {{ :public:calculator:guides:lf15c_beta240920.zip |}} | 
-| 20/07/23  | DM32  | 00812   | 46,265  | 6,813%   | 12,224 | 30,560%    | f/w 2.03 | 
-|26/05/22   |DM42    |06434   |24,701 |3,637% |3,741  |9,352.5%  |    | 
-|09/05/24 |DM42 * | 06434| 4,976 | 732.8% | 210 | 525.0% | 3rd Party Firmware : C47 00.109.01.03a2 | 
-| 02/08/24 | DM41X | 01266 | 3,273 | 482% | 627 | 1,690%  | FAST/USB power : F/W version 2.2 | 
-| 17/09/24 | DM15L * | 21350 | 1,346 | 198% |  | | 3rd Party Firmware : LF15C_beta240916 {{ :public:calculator:guides:lf15c_beta240916_2.zip |}} | 
-|26/05/22   |DM41X    |01266    |1,117 |164%  |228  |570% |FAST mode   | 
-| 02/08/24 | DM41X | 01266 | 1,038 | 152% | 206 | 515% | FAST : F/W version 2.2 | 
-| 14/01/26 | DM41X | 01266 | 900 | 132% | 177 | 442%  | FAST : F/W version 2.3 | 
-|26/05/22    |DM15L |21350  |676 |99% | 185 | 462.5% |48MHz| 
-|26/05/22    |HP35S    |PHA9150KFF  (2)  |292  |43% |113  |282.5% | | 
-|23/12/25 | DM41L | 05121 | 261 | 38% |140 | 350%  | 48MHz F/W DM41_34 | 
-|26/08/24 | DM41L | 05121 | 154 | 22% | 108 | 270% | 48MHz | 
-|26/05/22    |DM15L |21350  |150 |22% |41  |102.5%  |12MHz|  
-|26/08/24 | DM41L | 05121 | 96 | 14% | 40 | 100% | 12MHz | 
-|26/05/22   |DM41X    |01266    |93  |13%  |18  |45%  |SLOW mode (original HP41 Speed)  | 
-|02/08/24 |DM41X | 01266 | 93 | 13% | 18 | 45% | SLOW : F/W version 2.2 | 
-|28/07/22 |HP11C  | 2219AO3710 |37 |5.45%|9 |22.5%|   | 
- 
-  * Reference is HP9100 : Maths Score = 679, Trig Score = 40 
- 
-==== Code (Maths Benchmark) ==== 
- 
-++++ Listing for DM42 |  
- 
-<code> 
-LBL "BM" 
-0 
-STO 02 
-1.01234E6  
-STO 00 
-2.345 
-STO 01 
-LBL 02 
-RCL 01 
-RCL 00 
-x 
-RCL 01 
-- 
-RCL 00 
-÷ 
-RCL 01 
-x 
-3.5 
-÷ 
-SQRT 
-1 
-STO+ 02 
-GTO 02 
-END 
-</code> 
-++++ 
- 
-Raw File : Maths Benchmark (bm) file for DM41X & DM42 {{ :public:calculator:progs:bm.raw |}} 
- 
-Raw File : Trig Benchmark (bmt) file for DM41X & DM42 {{ :public:calculator:progs:bmt.raw |}} 
- 
-++++ Listing for DM41X Maths Benchmark | 
- 
-<code> 
-LBL ¬BM 
-0 
-STO 02 
-1.01234 E6 
-STO 00 
-2.345 
-STO 01 
-LBL 02 
-RCL 01 
-RCL 00 
-* 
-RCL 01 
-- 
-RCL 00 
-/ 
-RCL 01 
-* 
-3.5 
-/ 
-SQRT 
-1 
-ST+ 02 
-GTO 02 
-END 
- 
-</code> 
-++++ 
- 
-++++ Listing for HP35S | 
- 
-<code> 
-LBL X 
-0 
-STO C 
-1.01234E6 
-STO A 
-2.345 
-STO B 
-RCL B  <-- loop in 
-RCL A 
-x 
-RCL B 
-- 
-RCL A 
-÷ 
-RCL B 
-x 
-3.5 
-÷ 
-√x 
-1 
-STO+ C 
-GTO X008  --> loop in 
- 
-</code> 
-++++ 
- 
-++++ Listing for DM15L / HP15C | 
-<code> 
-42,21,15 
-0 
-42 2 
-1 
-48 
-0 
-1 
-2 
-3 
-4 
-26 
-6 
-44 0 
-2 
-48 
-3 
-4 
-5 
-44 1 
-42,21,2 
-45 1 
-45 0 
-20 
-45 1 
-30 
-45 0 
-10 
-45 1 
-20 
-3 
-48 
-5 
-10 
-11 
-1 
-44,40, 2 
-22 2 
-43 32 
-</code> 
- 
-<code> 
-LBL E 
-0 
-STO 2 
-1 
-. 
-0 
-1 
-2 
-3 
-4 
-EEX 
- 
-STO 0 
-2 
-. 
-3 
-4 
-5 
-STO 1 
-LBL 2 
-RCL 1 
-RCL 0 
-x 
-RCL 1 
-- 
-RCL 0 
-÷ 
-RCL 1 
-x 
-3 
-. 
-5 
-÷ 
-√x 
-1 
-STO + 2 
-GTO 2 
-RTN 
-</code> 
-++++ 
- 
-++++ Listing for DM32 | 
- 
-<code> 
-LBL A 
-0 
-STO C 
-1.01234 E 6 
-STO A 
-2.345 
-STO B 
-LBL B 
-RCL B 
-RCL A 
-X 
-RCL B 
-- 
-RCL A 
-/ 
-RCL B 
-X 
-3.5 
-/ 
-SQRT 
-1 
-STO+ C 
-GTO B 
-RTN 
-</code> 
-++++ 
- 
- 
-===== The SAVAGE benchmark ===== 
- 
-From **HPCC** Datafile  V37N1 pp38-42 
- 
-Raw File : Savage Benchmark (svg) for DM41X & DM42 {{ :public:calculator:progs:svg.raw |}} 
- 
-++++ Listing for self-timed version | 
- 
-<code> 
-LBL "SVG" 
-"SAVAGE" 
-AVIEW 
-RAD 
-2499 
-STO 00 
-1 
-ENTER 
-ENTER 
-ENTER 
-STO 01 
-TIME 
-X<> 01 
-LBL 01 
-X^2 
-SQRT 
-LN 
-E^X 
-ATAN 
-TAN 
-+ 
-DSE 00  
-GTO 01 
-TIME 
-RCL 01 
-HMS- 
-HR 
-3600 
-* 
-END 
-</code> 
- 
-++++ 
- 
- 
- 
- 
-++++ Listing for the simple (manual timed) version | 
- 
-No time calculation, it needs a stopwatch to measure the time... for calculators without TIME functions 
- 
-<code> 
-LBL A 
-RAD 
-2499 
-STO A (for HP11C "STO I", for DM15L "STO 0") 
-1 
-ENTER 
-ENTER 
-ENTER 
-LBL B 
-X^2 
-SQRT 
-LN 
-E^X 
-ATAN 
-TAN 
-+ 
-DSE A  (for HP11C "DSE", for DM15L "DSE 0" ) 
-GTO B 
-RTN 
-</code> 
- 
-++++ 
- 
-==== Results ==== 
- 
-On Battery: 
- 
-^ Calculator ^ Firmware ^ Seconds ^ Mins/seconds ^ Comment ^ Displayed Result ^ 
-|DM15L * | LF15c_beta250217b | 3.862 seconds | 0 mins 3.862 sec | Timed by internal function "runTime" | 2500.00000000118 | 
-|DM15L * | LF15c_beta250215 | 3.969 seconds | 0 mins 3.969 sec | Timed by internal function "runTime" | 2500.00000000118 | 
-| DM15l * | LF15C_250408 | 4.008 seconds | 0 mins 4.008 sec |  Timed by internal function "runTime" | 2500.00000000118 | 
-| DM15L * | LF15c_beta241006 | 5.9510 seconds | 0 mins 5.951 sec | Timed by internal function "runTime" | 2500.00000000118 | 
-| DM15L * | LF15C_beta240928 | 6.3 seconds | 0 min 6.3 sec | manually timed | 2500.00000000118 |  
-| DM32  | 2.03 & 2.06 | 6.3 seconds | 0 min 6.3 sec |  | 2500.00000000 | 
-| DM42  | 3.22 |14.9 seconds | 0 min 14.9 sec |  | 2500.00000000 | 
-| DM41X | 2.1 | 207.03 seconds | 3 min 27.03 sec | FAST mode | 2499.970322 | 
-| DM41X | 2.2 | 244.2 seconds| 4 min 4.25 sec | FAST mode| 2499.970322 |  
-| DM41X | 2.3 | 284.15 seconds | 4 min 44.15 sec | FAST Mode | 2499.970322 | 
-| DM15L | DM15_V32 | 288 seconds | 4 min 48 sec| 48MHz | 2499.970322 | 
-| DM41L | DM41_V34 | 513.73 seconds | 8 min 33 sec | 48MHZ | 2499.970322 | 
-| DM41L | DM41_V32 | 758.67 seconds  | 12 min 38.67 sec  | 48MHz | 2499.970322  | 
-| HP35S | n/a |877 seconds | 14 min 37 sec |  | 2499.99939863 | 
-| DM41L | DM41_V34 | 1285.93 seconds | 21 min 25.93 seconds | 12MHz | 2499.970322 | 
-| DM41X | 2.1 |2652.37 seconds | 44 min 12.37 sec |SLOW mode | 2499.970322  | 
-| HP11C |  |5160 seconds    1 hour 26 min 0 sec       | 2499.970322  | 
-  
- 
-On USB Power :  
- 
-  * DM41X : 58.1 seconds (FAST mode) 
-  * DM42  : 5.56 seconds 
- 
- 
- 
-===== N-Queens ===== 
- 
-  * [[https://www.hpmuseum.org/cgi-bin/articles.cgi?read=700]] 
- 
- 
-Raw File : N-Queens file (nqu) for DM41X & DM42 {{ :public:calculator:progs:nqu.raw |}} 
- 
- 
-++++ Listing for HP41/DM41X/DM41L/HP42/DM42 | 
- 
-<code> 
- 
-// for HP41 / HP 42  ... DM41X, DM41L, DM42 
-// shows run-time on completion 
- 
-LBL "NQU"    
-CLRG 
-TIME 
-STO 20 
- 
-STO 11 
-LBL 00   
-RCL 00  
-RCL 11 
-X=Y?  
-GTO 04 
-ISG 00  
-DEG 
-STO IND 00 
-LBL 01  
-ISG 10  
-DEG 
-RCL 00  
-STO 09 
-LBL 02   
-DSE 09  
-DEG 
-RCL 09  
-X=0?  
-GTO 00 
-RCL IND 00  
-RCL IND 09  
-- 
-X=0?  
-GTO 03 
-ABS  
-RCL 00  
-RCL 09  
-- 
-X<>Y?  
-GTO 02 
-LBL 03   
-DSE IND 00  
-GTO 01 
-DSE 00  
-GTO 03 
-LBL 04  
-RCL 10 
-TIME  
-RCL 20 
-HMS- 
-HR 
-3600 
-* 
-RTN 
- 
-</code> 
- 
-++++ 
- 
-++++ Listing for DM15L with 3rd party f/w | 
- 
-<code> 
-LBL 88 
-CLEAR REG 
-8 
-STO 10 
-LBL 80 
-RCL 0 
-RCL 10 
-X=Y? 
-GTO 84 
-1 
-STO+ 0 
-RCL 0 
-STO I 
-RCL 10 
-STO (i) 
-LBL 81 
-1 
-STO+ 11 
-RCL 0 
-STO 9 
-LBL 82 
-1 
-STO- 9 
-RCL 9 
-X=0? 
-GTO 80 
-RCL 0 
-STO I 
-RCL (i) 
-RCL 9 
-STO I 
-RDN 
-RCL (i) 
-- 
-X=0? 
-GTO 83 
-ABS 
-RCL 0 
-RCL 9 
-- 
-X<>Y? 
-GTO 82 
-LBL 83 
-RCL 0 
-STO I 
-1 
-STO- (i) 
-RCL (i) 
-X<>0? 
-GTO 81 
-1 
-STO- 0 
-RCL 0 
-X<>0? 
-GTO 83 
-LBL 84 
-RCL 11 
-runTime 
-RTN 
- 
-</code> 
- 
-++++ 
- 
-++++ Listing for DM15L / HP15C |  
- 
-<code> 
-LBL A 
-CLR_REG 
-8 
-STO .0 
-LBL 0 
-RCL 0 
-RCL .0 
-TEST 5 
-GTO 4 
-1 
-STO+0 
-RCL 0 
-STO I 
-RCL .0 
-STO (i) 
-LBL 1 
-1 
-STO+.1 
-RCL 0 
-STO 9 
-LBL 2 
-1 
-STO-9 
-RCL 9 
-x=0 
-GTO 0 
-RCL 0 
-STO I 
-RCL (i) 
-RCL 9 
-STO I 
-R_down 
-RCL (i) 
-- 
-x=0 
-GTO 3 
-ABS 
-RCL 0 
-RCL 9 
-- 
-TEST 6 
-GTO 2 
-LBL 3 
-RCL 0 
-STO I 
-1 
-STO-(i) 
-RCL (i) 
-TEST 0 
-GTO 1 
-1 
-STO-0 
-RCL 0 
-TEST 0 
-GTO 3 
-LBL 4 
-RCL .1 
-RTN 
- 
-</code> 
- 
-++++ 
- 
- 
-^Date^Calculator^Serial No.^Firmware^Seconds^Mins : Secs^Comment^ 
-|12/01/26| DM15L* |21350 | LF15C_250408 | 0.992 seconds | 0:0.992 | Self-timed with runTime function | 
-|11/01/26| DM42  | 06434 | 3.26 | 7.82 seconds | 0:07.82 | Battery | 
-|14/01/26| DM41X | 01266 | 2.3 | 49.55 seconds | 0:49.55 | FAST mode / USB Power | 
-|10/01/26| DM41X | 01266 | 2.3 | 101.29 seconds |1:41.29 | FAST mode / battery | 
-|10/01/26| DM41L | 05121 | DM41_V34  | 509.19 seconds  | 8:29.19   |48MHz | 
-|11/01/26| DM41L | 05121 | DM41_V34 | 870.58 seconds | 14:30.58  | 12MHz | 
-|10/01/26| DM41X | 01266 | 2.3 | 1008.60 seconds | 16:48.60  | SLOW mode / battery | 
- 
- 
-* Running 3rd party firmware [[https://www.hpmuseum.org/forum/thread-20046.html]] 
- 
- 
- 
- 
-===== Tony's Benchmark ===== 
- 
-From [[http://www.thimet.de/CalcCollection/CalcPerformance.html]] 
- 
-==== Code ==== 
- 
-++++ Listing for the benchmark | 
- 
-<code> 
-LBL A  (For DM41X and DM42 : LBL "AA") 
-10 
-STO A  (For DM41X and DM42 : STO 00 ) 
-LBL B 
-1 
-+ 
-4.567E-4 
-- 
-70 
-+ 
-69 
-- 
-7 
-x 
-11 
-/ 
-RCL A (RCL 00) 
-1 
-- 
-STO A (STO 00) 
-X≠0? 
-GTO B 
-R↓ 
-LOG 
-SIN 
-SQRT 
-SQRT 
-RTN 
- 
- 
-LBL C  (For DM41X and DM42 : LBL "TBM") 
-XEQ A  (XEQ "AA") 
-RCL C  (RCL 03) 
-1 
-- 
-STO C (STO 03) 
-X≠0? 
-GTO C (GTO "TBM") 
-RTN 
-</code> 
- 
-++++ 
- 
-For multiple loops store a Loop Count in C (or in Register 03)  
- 
-(''1000 STO C'') and then ''XEQ C'' 
- 
-For single loop (slow calculator) simply ''XEQ A'' 
- 
-Result is the time to complete the loop(s) and deliver the answer ''0.264577'' 
- 
-Performance Index is calculated as  
- 
-''Loops x 34 / Time'' 
- 
-For 1000 loops in 13 seconds: 
- 
-'' 1000 x 34 / 13 = 2615.38 '' 
- 
-==== Results ==== 
- 
-^Date^Calculator^Serial No^Loops^Time^Performance Index^Comments^Result^ 
-|22/11/23| DM42 | 06434 | 1000 | 8 sec | 4250 | USB Power    | | 
-|22/11/23| DM32 | 00812 | 1000 | 13 sec | 2615 | f/w : 2.06 |0.26457749818 | 
-|22/11/23| DM42 | 06434 | 1000 | 21 sec | 1619 | Battery Power | 0.26457749818  | 
-|21/09/24| DM15L * | 21350 | 1000 | 42.8 sec | 794 | 3rd Party Firmware : LF15C_beta240921 | 0.26457749817596 | 
-|21/09/24| DM15L * | 21350 | 100 | 4.5 sec | 756 | 3rd Party Firmware : LF15C_beta240921 | 0.26457749817596 | 
-|22/11/23| DM41X| 01266 | 20 | 6 sec | 113 | FAST mode / USB  | | 
-|09/05/24| DM42 * | 06434 | 30 | 9.6 sec | 106 | 3rd Party Firmware : C47 00.109.01.03a2 | 
-|22/11/23| DM15L | 21350 | 10 | 12 sec | 28 | 48MHz | 0.264577498 | 
-|22/11/23| DM41X| 01266 | 10 | 10 sec | 24 | FAST mode / Battery | 0.264577498 | 
-|22/11/23| HP35S | PHA9150KFF | 5 | 25 sec | 6.8 |  | | 
-|22/11/23| DM15L | 21350 | 10 | 54 sec | 6.3 | 12MHz | 0.264577498| 
-|22/11/23| DM41X| 01266 | 10 | 118 sec | 2.8 | SLOW mode/ Battery| | 
-|22/11/23| HP11C | 2219A03710 | 1 | 21 sec | 1.6 |  | | 
- 
- 
- 
-===== Fingerprinting ===== 
- 
-Each calculator handles the calculation of functions (SIN, COS etc) differently - different algorithms, different degrees of precision etc. 
- 
-One way of spotting similar underlying hard/firmware is to carry out a fixed chained calculation on each calculator and to observe the result. 
- 
-One common test is a sequence of SIN COS TAN ATAN ACOS ASIN on a relatively low starting number - such as 9 
- 
-<key>9</key><key>SIN</key><key>COS</key><key>TAN </key><key>ATAN</key><key> ACOS </key><key>ASIN </key> gives a number (hopefully) very close to the starting value of ''9'' - and the variance from ''9'' is a fingerprint that can be used to spot similarities between different models. 
- 
-^Calculator^ Displayed Result ((at max. display resolution))^ Error (Result - 9) ^Firmware ^ 
-| HP11C | 9.000417403 | 4.17403e-4 | | 
-| DM15L | 9.000417403 | 4.17403e-4 | DM15_V32 | 
-| DM41X | 9.000417403 | 4.17403e-4 | 2.1 | 
-| DM41L | 9.000417403 | 4.17403e-4 | DM41_V32 | 
-| HP35S | 8.99999986001 | -1.3999e-7 | | 
-| DM15L * | 8.99999999983416 | -1.65842e-10 | 3rd party LF15C_beta240916 17/09/24 | 
-| DM42  | 9.00000000000 | -6.2466e-29 | DM42 3.22 / Free42 3.0.15 | 
-| DM32  | 9.00000000000 | -6.2466e-29 | 2.06 | 
- 
- 
- 
- 
-==== Page Info ==== 
- 
-Page created Thu May 26 07:58:36 2022 by John Pumford-Green 
- 
-Page last updated: ~~LASTMOD~~ 
- 
- 
-{{tag>calculator}} 
- 
- 
-===== Further Information ===== 
- 
- 
-{{tag>}} 
-