The following warnings occurred:
Warning [2] Undefined array key 255876 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 255888 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256002 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256008 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256011 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256036 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256819 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256829 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256819 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256829 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256036 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 256011 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





48G vs 49G+ User RPL Speed Comparison



#9

Just for the heck of it, I ran a speed test of a simple user RPL
program on my old 48G and on my not so old 49G+ calculators. The program simply calculates the factorial of a positive integer.
I assumed that the 49G+ would execute faster than the 48G, but I was
wrong. The 48G computed 250! in 6 seconds while the 49G+ took 15 seconds to compute 250! .

I could be wrong, but I read somewhere that the 49G+ uses an ARM
processor that emulates the older Saturn processor for certain operations. This could account for the 49G+ slower speed in executing
User RPL programs compared to the 48G.
Anyone else have an idea why this speed difference exits?

Edited: 16 Nov 2013, 12:23 a.m.


#10

On the 49G+, try unchecking "Approx", found under MODE | CAS.


#11

I tried unchecking approximate mode and ran
the program with a lower integer (50!) so that the result would fit
on the stack. The execution time was even slower than in the
approximate mode.

This article at HPcalc.org (http://www.hpcalc.org/hp49gplus.php) is
where I read that the HP49G+ is using some kind of Saturn emulator
running on an ARM 920T 32-bit 75 MHz processor. This makes sense
for backward compatibility reasons. This would explain the slower
speed for User RPL programs running on 49G+. I assume that built in
math functions and graphing are handled directly by the ARM processor.


#12

Quote:
I tried unchecking approximate mode and ran
the program with a lower integer (50!) so that the result would fit
on the stack. The execution time was even slower than in the
approximate mode.

This article at HPcalc.org (http://www.hpcalc.org/hp49gplus.php) is
where I read that the HP49G+ is using some kind of Saturn emulator
running on an ARM 920T 32-bit 75 MHz processor. This makes sense
for backward compatibility reasons. This would explain the slower
speed for User RPL programs running on 49G+. I assume that built in
math functions and graphing are handled directly by the ARM processor.


That is not the reason for slower computation. In fact, the HP49G+ is generally much faster than the actual Saturn calculators. The reason 50! is slow on the HP49G+ is because there is a separate "exact" real number algorithm as opposed to the original non-exact real numbers.

When you unchecked approximate mode, you enabled the exact algorithm, which is slower. Try 50! vs 50.0! and you will see a huge difference in approximate mode.

#13

Quote:
This would explain the slower speed for User RPL programs running on 49G+. I assume that built in math functions and graphing are handled directly by the ARM processor.

Almost all of the functions provided on the 49G+ and 50G are coded in the original Saturn language, which runs on the calculator's Saturn emulator, which runs on the ARM9. The overhead of the Saturn emulator and the function coding not being in native ARM9 is what makes the 49G+/50G much much slower (and thus, much more energy hungry) than had native ARM9 coding been used. Still, the 49G+/50G executes its functions typically two or three times faster than would a 48GX.

#14

I don't have a 49 but my understanding is that the 50g is more-or-less the same hardware so I tried this on the 50g. It's also my understanding that in general the ARM emulating a Saturn is faster than the Saturn. But I've been known to be wrong...

With both Numeric and Approx checked, my UserRPL program approximated 250! as 3.2E492 in about 0.8 seconds. With both Numeric and Approx unchecked, the program generated a 493-digit integer in about 5.1 seconds.

My 48SX approximated it in about 19000 ticks while my 48GX did it in about 13000 ticks (2.3 and 1.6 seconds).

Here's the program I used:

<<
1. DUP ROT FOR I
I *
NEXT
>>

For exact mode, remove the decimal point.


#15

My factorial program:
<< -> c << WHILE c 1 > REPEAT
c 1 - * 'c' DECR DROP
END >>
>>

With both numeric and approx. checked, the execution time on the
49G+ was ~10 seconds. An improvement, but still slower than the 48G.
My ROM version is 2.15 (2009 release). It may be that the 50G is faster than the 49G+ ( A newer ROM version or faster ARM processor).

I don't mind the speed difference. If I want a program to run fast
on my 49G+, I write it in System RPL.

#16

Quote:
Just for the heck of it, I ran a speed test of a simple user RPL
program on my old 48G and on my not so old 49G+ calculators. The program simply calculates the factorial of a positive integer.
I assumed that the 49G+ would execute faster than the 48G, but I was
wrong. The 48G computed 250! in 6 seconds while the 49G+ took 15 seconds to compute 250! .

I could be wrong, but I read somewhere that the 49G+ uses an ARM
processor that emulates the older Saturn processor for certain operations. This could account for the 49G+ slower speed in executing
User RPL programs compared to the 48G.
Anyone else have an idea why this speed difference exits?


The introduction of "integer" object types for exact calculations from the 49G and onward is the reason you see any "slower" performance. The HP48 uses algorithms which take only "real" input types. On the 49G and later models, there are additional routines to handle "integer" inputs and these routines would run at the same speed or slower on the HP48. So if you are doing pure numerical calculations and integer solutions are unnecessary, make sure to have all real numbers ending in a decimal point (the auto-conversion itself can create a lot of overhead). That is, instead of 4 5 +, use 4. 5. +


Possibly Related Threads…
Thread Author Replies Views Last Post
  Writing RPL programs on OS X Sean Freeman 18 5,031 11-30-2013, 03:59 PM
Last Post: Sean Freeman
  RPL 32 David Hayden 4 2,021 11-11-2013, 11:34 AM
Last Post: David Hayden
  HHC / HP Museum Programming Contest for RPN and RPL machines Gene Wright 18 5,438 09-22-2013, 09:39 AM
Last Post: Miguel Toro
  WP-34S: Speed of y^x Marcel Samek 1 1,120 09-14-2013, 07:31 PM
Last Post: Paul Dale
  WP-34S function execution speed ? Gene Wright 4 1,646 09-04-2013, 05:40 PM
Last Post: Paul Dale
  Riemann's Zeta Function update (HP-28S, HP-48G/GX/G+, HP-49G/G+/50g) Gerson W. Barbosa 0 1,047 06-30-2013, 01:01 AM
Last Post: Gerson W. Barbosa
  HP-39gII speed Mic 2 1,409 02-24-2013, 05:55 PM
Last Post: Thomas Klemm
  Calculator Speed Benchmark (Add Loop) Thomas Chrapkiewicz 2 1,410 01-20-2013, 11:24 AM
Last Post: Thomas Chrapkiewicz
  Speed comparison: HP 30b vs. WP 34s Dieter 9 2,579 12-08-2012, 04:34 AM
Last Post: Paul Dale
  RPL long vs. short names peacecalc 5 1,961 10-30-2012, 01:25 PM
Last Post: peacecalc

Forum Jump: