Table of Contents
Benchmarking
There is information on HP Calculator Benchmarking online at the HP Museum
I've used the pseudoCode to test out my own calculators.
HP Museum Maths Benchmark Pseudo 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>
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
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>
Results
Date | Calculator | Serial No | Maths Result | Maths % 1) | Trig Result | Trig %2) | Comment |
---|---|---|---|---|---|---|---|
20/07/23 | DM32 | 00812 | 46,265 | 6813% | 12,224 | 30560% | f/w 2.03 |
26/05/22 | DM42 | 06434 | 24,701 | 3637% | 3741 | 9352.5% | |
09/05/24 | C47 | 06434 | 4,976 | 732.8% | 210 | 525.0% | F/W version 00.109.01.03a2 |
02/08/24 | DM41X | 01266 | 3,273 | 482% | 627 | 1690% | FAST/USB power : F/W version 2.2 |
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 |
26/05/22 | DM15L | 21350 | 676 | 99% | 185 | 462.5% | 48MHz |
26/05/22 | HP35S | PHA9150KFF (2) | 292 | 43% | 113 | 282.5% | |
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)
The SAVAGE benchmark
From HPCC Datafile V37N1 pp38-42
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
Simple version
No time calculation, it needs a stopwatch to measure the time… for calculators without TIME functions
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
Results
On Battery:
Calculator | Firmware | Seconds | Mins/seconds | Comment | Displayed Result |
---|---|---|---|---|---|
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 |
DM15L | DM15_V32 | 288 seconds | 4 min 48 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 | |
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
Tony's 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
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 |
22/11/23 | DM41X | 01266 | 20 | 6 sec | 113 | FAST mode / USB | |
09/05/24 | C47 | 06434 | 30 | 9.6 sec | 106 | f/w 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
9SINCOSTANATANACOSASIN 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 | 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 | |
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: 26/08/24 17:30 BST