Brute force addition speed test - various models - results?



#27

Xerxes has done a great job with the complex speed test N-queens problem for various calculators as detailed in his Benchmark article (and Hi Xerxes...I've found your posts on a Casio board as well).

I'd like to get a list of speeds for a much simpler program, that ONLY goes after one thing: addition.

LBL 01
+
GTO 01
where the stack contains 0 1 1 1 on 4 level machines. In other words, start with 0 and do repeated additions of 1 for 60 seconds. What is the result?

I know Xerxes' test checks many other things, but how do they stack up with this?

Please post:

The machine used
Your count after 60 seconds
Your program code.

I'll start:

Machine: HP 12c+
Count: 78640
Code: + GTO 01

Machine: HP 12c platinum
Count: 1386
Code: + GTO 001

Machine: HP 30b
Count: 72517
Code: LBL 00 + GOTO 00
(as first program in memory)

Machine: HP 67
Count: 226
Code: LBL 1 + GTO 1

Machine: HP 41c
Count: 1063
Code: LBL 01 + GTO 01



Edited: 28 May 2010, 10:26 a.m.


#28

Machine: HP 35s
Count: 3652
Code: LBL B, +, GTO B001

Count: 5504
Stack: 1, 1, 1, 1
Z: 0
Code: B001 LBL B
B002 STO+ Z
B003 GTO B002
B004 RTN


Edited: 28 May 2010, 2:23 p.m.

#29

Machine: HP 33s

Count: 10097

Code: LBL A + GTO A



Machine: HP 50G (normal speed)

Count: 5510

Code: << 1 + A >> stored in A, start with 1 on stack line 1:



Are we doing non-HP / non-RPN too?

Machine: Sharp PC-1251

Count: 1277

Code: 1: A=A+1 2: GOTO 1 ; start with 0 stored in A.



Machine: Elektronika MK-61

Count: 106

Code: + GSB 00

(Tapping + key by hand: 133)

Edited: 28 May 2010, 1:43 p.m.


#30

Anyone testing on a 48gII/49g+/50g, remember to be in approximate mode. Otherwise you may be doing exact symbolic adding.

50g: 30025

<< WHILE 1. REPEAT 1. + END >>

sysrpl: 64023

:: BEGIN ?ATTNQUIT %1+ AGAIN ;

TW

Edited: 28 May 2010, 2:56 p.m.


#31

I used the <<1 + A>> stored in A method to as closely as possible emulate Gene's RPN routine. It did not seem to make much difference in Exact or Approximate. I also stick to User RPL without speed enhancement as I think that's what most users use.


Edit: of course in hindsight the <<1 + A>> is not fair as it exits and re-enters the program continously, so a loop is indeed better.


Edited: 28 May 2010, 6:04 p.m.


#32

Yeah, that global variable evaluation will slow things down quite a bit.

TW

#33

Machine: original 12c (mfg. 1985)
Count: 500
Code: +; GTO 01
#34

Machine: 15c (mfg. 1983)
Count: 297
Code: LBL A; +; GTO A
#35

All right, I'm game. How about the granddaddy of them all:

Machine:  HP-65
Count: 578
Code: Lbl 1, +, Goto 1
#36

HP-25: 512

01 +
02 GTO 01

HP-42S: 2,115

Free42 on ThinkPad T61: 88,939,215 :-)

01 LBL 00
02 +
03 GTO 00

HP-48G: 10,726

<< WHILE 1 REPEAT 1 + END >>

#37

HP-42S with "goose" disabled: 3067

01 CLLCD
02 LBL 00
03 +
04 GTO 00

Gene, have you tried this on the 41C? The cost of moving the goose is probably less on the 41C than on the 42S, but it might still be significant...

#38

Machine: 16c
Count: 245
Code: Lbl 1, +, Goto 1

Machine: 11c
Count: 353
Code: Lbl 1, +, Goto 1

Machine: 12c plat 25th anniv.
Count: 1435
Code: +, Goto 001

#39

Machine: HP 48gii (Original 3 batteries, NO USB)
Count: 3036
Code: << WHILE 1 REPEAT 1 + END >>

Count: 3088 // Exact Mode
Count: 26,439 // Approx Mode
Code: << WHILE 1 REPEAT 1. + END >>

Count: 4296
Code: << TICKS 8192 60 * +
<< -> t
<< DO 1. + UNTIL TICKS t >= END >>
>> EVAL
>>
---------------------------------
Machine: 48GX
Count: 11636
Code: << WHILE 1 REPEAT 1 + END >>

Edited: 28 May 2010, 3:17 p.m. after one or more responses were posted


#40

Those have to be in exact mode. . .

TW


#41

Guilty as charged. Interesting that there was a little difference between adding 1 and 1. but both were still in exact mode (or just could have been my variation in pressing the cancel key...

Edited above for Approx Mode.

#42

HP-71B



10 DESTROY A @ A=0

20 ON TIMER #1,60 GOTO 40

30 A=A+1 @ GOTO 30

40 DISP A



Result: 4320



BR Ray


#43

Machine:
HP-38C Financial 1982 Singapore Soldered construction

Code:
01 +
02 GTO 01

1 ENTER^ ENTER^ ENTER^ g GTO 00 R/S

Count: 387


Edited: 29 May 2010, 12:03 a.m.

#44

Raymund, I imagine there is some overhead in setting (and especially checking) a timer. It would be interesting to not do the timer and just manually interrupt it at 60 seconds and see what the count is.


#45

Hi Don,



about 10 times hand stopped: Average := 4295

about 10 times hand stopped: Average := 4303 (2 minutes / 2)

Program:

10 A=A+1 @ GOTO 10

A=0 [RUN]



Variant (all statements in direct mode):

about 10 times hand stopped: Average := 3136

about 10 times hand stopped: Average := 3131 (2 minutes / 2)

Immediate code:

A=0

FOR T=1 TO 999999 @ A=A+1 @ NEXT T



I think the timer is more accurate. According to the IDS, it generates an interrupt.
It is not a polling timer!



BR


Ray


PS, See also
this approach to determine the best guess.
Could be changed for the basic variant of course ....

#46

Machine: HP-41CY Turbo
Count: 1982
Code: LBL 00, +, GTO 00

Machine: HP-9100B
Count: 47394
Code: +, GO TO, 0, 0


#47

Hi:
The oldest computer I have and my inspiration for my love for HP Calcs

The machine that started it all:

HP 9100A SERIAL NUMBER 816-01071 (1971?)

Count: 49391

Code:
+
GO TO 00

After given to me by an HP Service Engineer in 1982 it still works ok


Edited: 29 May 2010, 12:10 a.m.

#48

Machine: HP 48Gii (old version)
Count: 28160
Code: 1. << DO 1. + UNTIL 0. END >> EVAL

Edited: 28 May 2010, 3:24 p.m.

#49

Machine: HP 9810A

Count: 15335

Code:

0000--LBL---51
0001-- 1 ---01
0002-- + ---33
0003--GTO---44
0004-- 1 ---01
0005--END---46

Greetings,

Thomas

Edited: 28 May 2010, 4:27 p.m.


#50

Machine: 9815A/S

Count: 31,156

0000 LBL 
---- A
0002 1
0003 +
0004 GTO A

-Katie


Edited: 28 May 2010, 8:39 p.m.

#51

First some results:

HP 16c: 293 (float 4)
HP 16c: 230 (decimal, wsize 16, 2-complement)
HP 34c: 259 (standard program)
HP 34c: 277 (I program)

The first three used this program:

    LBL A
+
GTO A

For the fourth, the 34c used:

    LBL A
+
GTO f I

With -1 stored in I.


- Pauli


#52

Quote:
HP 16c: 293 (float 4)
HP 16c: 230 (decimal, wsize 16, 2-complement)

The thing I find interesting here is that the integer version of the code is substantially slower than the floating point equivalent. That really doesn't make a lot of sense but it does indicate how much effort was likely put into the floating point implementation.


- Pauli

#53

10C: 514
30B: 75487
30B: 222578
48SX: 7352
35S: 3631
12C+: oops, my current firmware isn't programmable
20S: 4170


Edited: 28 May 2010, 10:22 p.m.


#54

Hey scott.

Tell me the program code you used. I'm not posting a 222,578 result for the 30b unless you tell me how. :-)


#55

Same code, TSYS on.


#56

What is TSYS?

- Pauli


#57

Test SYstem.

I believe it runs the 30b full blast. Eats batteries VERY quickly, but as Scott has shown, it really is fast! Wow.

#58

Hi (from Puerto Rico)

Machine: HP-75C (1982)

Count: 21717

Code:

10 A=0

20 A=A+1 @ GOTO 20

30 END

I will love to know how an HP9825 will score, that machine was really fast.

Machine: Psion Organiser II CM (1997)

Count: 10949

Code:
LOCAL a
a=1
DO
a=a+1

UNTIL KEY$="S"
PRINT a
GET

Greetings to all out there!


Edited: 29 May 2010, 12:34 a.m.

#59

Thank you Gene, your test is surely better suited for a quick speed check than mine. ;-)



My first result:

Machine: FX-603P
Count: 7240
Code: AC 1 + + LBL 0 = GOTO 0

#60

No problem.

And, I certainly agree that YOUR test is much more suited for an all-around speed impression. This test really does nothing other than add and loop!

#61

Machine: 48GX (m48+ emulator running on iPod Touch-2nd Gen,
Authentic Speed Off)

Count: 54990

Code: << WHILE 1 REPEAT 1 + END >>

#62

12C+, custom firmware: 10,794,647
do
{
++x;
} while ((((*(unsigned long int*)PIOC_PDSR) & c_mask)==c_mask));

I don't remember what I had the clock rate set to...might be able to improve this a bit.


#63

12C+, custom (integer) firmware running from flash, overclocked to 48.75 MHz : 261,602,459
#64

Greetings from Puerto Rico

Gene

Is amazing that the two machines that were my inspiration for loving computational instruments from Hewlett-Packard are still shining regardless of their age.

Those are the HP-9100 and the HP-9825.

Thank you very much for doing this.

#65

iPod touch 32G (recent model) with Free42
count: 7,321,760

LBL 00
+
GTO 00

Stack: 0 1 1 1

#66

35s on low batteries: 1733
Does the machine automatically reduce clock count (apparently by a factor 2) to save on power? That would be quite neat.


Possibly Related Threads...
Thread Author Replies Views Last Post
  48G vs 49G+ User RPL Speed Comparison John Colvin 7 1,639 11-16-2013, 10:07 PM
Last Post: Han
  HP-42S ESD self-test Yriarte 2 1,023 10-24-2013, 09:08 AM
Last Post: Yriarte
  hp prime - sending program results to the stack giancarlo 6 1,330 10-15-2013, 02:00 AM
Last Post: Giancarlo
  HP Prime complex results Javier Goizueta 0 674 10-06-2013, 12:59 PM
Last Post: Javier Goizueta
  HP Prime Solving Nonlinear System of Equations for Complex Results Helge Gabert 11 2,697 09-30-2013, 03:44 AM
Last Post: From Hong Kong
  So I took a test with my Prime today ... kris223 12 2,292 09-25-2013, 07:19 PM
Last Post: kris223
  WP-34S: Speed of y^x Marcel Samek 1 768 09-14-2013, 07:31 PM
Last Post: Paul Dale
  WP-34S function execution speed ? Gene Wright 4 1,113 09-04-2013, 05:40 PM
Last Post: Paul Dale
  Concern about Voyager keyboard test Matt Agajanian 2 1,007 08-30-2013, 07:56 PM
Last Post: Matt Agajanian
  Why does PEMDAS do multiplication and division before addition and subtraction? Don Shepherd 12 2,091 07-31-2013, 10:59 AM
Last Post: robert rozee

Forum Jump: