Two very simple benchmarks were run on various calculators. The Math benchmark tested the four basic functions and square root. The Trig benchmark tested the six basic trig functions plus natural log and anti log and spent proportionately more time in core math routines than the math benchmark. The results were normalized to the HP9100A which was given a score of 100. (Higher scores are better.) These simple benchmarks may not represent real world usage.
Speed / dollar is calculated as (2×math score + trig score) ÷ price × 100. Naturally, this simple number penalizes machines with advanced features. No attempt to compute "power / dollar" was made due to the complexity of assigning values for the number of steps, flexibility in memory management, continuous vs. noncontinuous memory, peripherals, etc.
Model  Intro Year 
Intro Price 
Math  Trig  Speed / dollar 


HP 9100A  1968  $4900 
100 
100 
6  
HP 9810A ^{1}  1971  $2960 
110 
183 
13  
HP9830A ^{2}  1972  $5975 
108 
195 
7  
HP65  1974  $795 
7 
25 
5  
HP25  1975  $195 
6 
25 
19  
HP 9815A  1976  $2900 
96 
123 
11  
HP 9825A  1976  $5900 
977 
1140 
52  
HP67  1976  $450 
6 
23 
8  
HP97  1976  $750 
7 
23 
5  
HP34C  1979  $150 
5 
18 
19  
HP41C  1979  $295 
13 
45 
24  
HP85B ^{2}  1979  $3,250 
275 
398 
29  
HP11C  1981  $135 
6 
25 
27  
HP75D  1984  $1095 
191 
478 
79  
HP71B  1984  $525 
132 
378 
122  
HP28C  1988  $235 
65 
320 
191  
HP42S  1988  $120 
32 
330 
328  
HP32SII  1991  $70 
86 
370 
774  
HP48S  1991  $250 
113 
655 
352  
HP48G  1993  $165 
159 
1150 
889 

HP48G SysRPL*  1993  $165 
378 
1350 
1276  
HP49G**  1999  $179 
262 
1325 
1033  
HP49G+  2003  $176 
643 
2535 
2171 
Each of the benchmarks sets R2 to zero and then runs indefinitely, adding 1 to R2 on each iteration. Each benchmark was run for one minute and then stopped (R/S key pressed) and then the counter in R2 was recalled (RCL 2). To normalize results to the HP 9100, the value in R2 was divided by the R2 value for the HP 9100 (below) and then multiplied by 100. For example, after running the math benchmark for one minute, register 2 (or C as ported ) on the HP 32SII was 587. 587÷679×100 = 86% of HP 9100 speed. Individual runs may vary by a few percent and different samples of each model may also vary.
Math pseudo code HP 9100 final R2 value: 679 
Trig pseudo code HP 9100 final R2 value: 40 

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 
56.26 STO 0 0 STO 2 <loop> RCL 0 SIN ASIN COS ACOS TAN ATAN LN e^x 1 STO + 2 GTO loop 
*This SysRPL port was provided by Frido Bohn.
:: DEFINE a 1GETLAM DEFINE b 2GETLAM DEFINE c 3GETLAM DEFINE start 4GETLAM DEFINE timr 5GETLAM DEFINE !a 1PUTLAM DEFINE !b 2PUTLAM DEFINE !c 3PUTLAM DEFINE !start 4PUTLAM DEFINE !timr 5PUTLAM { NULLLAM NULLLAM NULLLAM NULLLAM NULLLAM } BIND TOADISP CLEARLCD xERASE %2 xFIX % 112880 !timr % 1012340 !a % 2.345 !b ZERO !c $ "Math PseudoCode" DISPROW1 CLKTICKS timr bit#%+ HXS># !start BEGIN b a %* b % a %/ b %* % 3.5 %/ %SQRT DROP c #1+ !c CLKTICKS HXS># start #> UNTIL $ "Iterations: " c FOUR #* #>$ &$ DISPROW2 $ "Benchmark: " c UNCOERCE % 679 %4 %/ %/ %100 %* a%>$ &$ DISPROW3 $ "Trig PseudoCode" DISPROW5 % 56.26 !a ZERO !c CLKTICKS timr bit#%+ HXS># !start BEGIN a %SIN %ASIN %COS %ACOS %TAN %ATAN %LN %EXP DROP c #1+ !c CLKTICKS HXS># start #> UNTIL $ "Iterations: " c FOUR #* #>$ &$ DISPROW6 $ "Benchmark: " c UNCOERCE %10 %/ %100 %* a%>$ &$ DISPROW7 xSTD ABND DEPTH NDROP SetDAsTemp ; 
Disclaimer: The author and The Museum
of HP Calculators do not take any responsibilities for any kind of damages
caused directly or indirectly by this application.
Notes from Frido: Simply transfer bench.bin into your HP48 and run it! After the first minute the results for the Math PseudoCode should appear. After another minute those for the Trig PseudoCode. If not...try ONC for reset. The program runs 1 minute each test (=2 minutes). One should look if it really runs for that time. Sometimes it only runs one loop  might by some problem with HEXINT conversions by the timer. The sourcecode was assembled with Jazz V 6.8. You may also download the compiled code. 
**These HP49G ports were provided by Marco G. Salvagno. A bint counter was used for speed.
Math pseudo code  Trig pseudo code  
<< 1012340 2.345 > R0 R1 << #1d #2000d FOR i R0 R1 * R1  R0 / R1 * 3.5 / sqrt DROP i NEXT >> >> 
<< #1d #600d FOR i 56.25 SIN ASIN COS ACOS TAN ATAN LN EXP DROP i NEXT >> 
The trigonometric algorithms in the handhelds appeared to be more efficient than the those used in the desktops but the desktops calculated trig functions accurate to 12 digits vs. 9 for the early handhelds. On the HP67/97 handheld accuracy improved to 10 digits and on the HP41C and RPL calculators, handheld accuracy was comparable to the desktops.
The code was changed as little as possible when ported. Both benchmarks had a single loop which was implemented using labels on labelbased machines. Some machines like the HP67 and HP34C might have shown higher benchmark numbers if the benchmark was recoded using line addressing via the indirect register.
The recent handhelds have plenty of horsepower as evidenced by the trigonometric test, but they also have more overhead with larger screens, multiple data types, unlimited stacks, etc. As a result the math results are not as impressive because they spend proportionately more time on overhead.
Go
back to the main exhibit hall
Go back to the technologies page