Post Reply 
Summation based benchmark for calculators
09-08-2018, 08:18 PM
Post: #141
RE: Summation based benchmark for calculators
Updated until post #140. Thanks for the info!

Casio 90E+ anyone ?

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
09-08-2018, 09:17 PM
Post: #142
RE: Summation based benchmark for calculators
(09-08-2018 08:18 PM)pier4r Wrote:  Casio 90E+ anyone ?

Very likely to be identical to fx-CG50.

— Ian Abbott
Find all posts by this user
Quote this message in a reply
11-16-2018, 01:11 AM (This post was last modified: 11-16-2018 01:07 PM by Helix.)
Post: #143
RE: Summation based benchmark for calculators
Finally my question on the Ti-Planet forum got an answer Smile

TI Nspire CX CAS, hardware version P-0411A (2011), OS 4.5.0.1180 (2017):
Lua max= 100000: 47.1s - 139560,97614105
C with Ndless max=100000: 12 s

This a very old version of the TI-Nspire. A more recent version should be faster.

source: https://tiplanet.org/forum/viewtopic.php?f=19&t=20986

Jean-Charles
Find all posts by this user
Quote this message in a reply
11-16-2018, 06:52 PM
Post: #144
RE: Summation based benchmark for calculators
(01-02-2018 10:57 AM)grsbanks Wrote:  ...
One way round it is to use the fact that \( sin(atan(x)) = { x \over \sqrt(1+x^2) } \) Smile

That, however, doesn't benchmark the trig functions, so any results obtained would not be relevant to this particular test.

Taking a look at the UserRPL Σ (summation) vs. SysRPL looped versions of the 50g results was puzzling me, as I didn't see how Σ could possibly be executing a symbolic UserRPL expression with type checking faster than a simple SysRPL loop could step through the same calculations without the type checks. That prompted me to dig a bit into the Σ command, which in turn provided the answer: Σ uses the CAS to simplify the expression prior to looping through the summation, which ends up applying the same optimization you've identified above (\( sin(atan(x)) = { x \over \sqrt{1+x^2} } \)). In my mind, that would appear to invalidate the 50g benchmarks that use the summation notation since they aren't actually performing the same series of computations as the other platforms. I'm assuming, of course, that none of the other non-RPL calculators perform a similar optimization prior to summing the values. I have no way of knowing if that's a safe assumption, though.

To put this into perspective, a 50g SysRPL implementation that takes advantage of this same simplification could be as follows:
Code:
::
   SETRAD
   %0 DUP
   1000 ZERO_DO (DO)
      SWAP %1+ SWAPOVER
      DUPDUP %*
      %1+
      %SQRT
      %/
      %EXP
      %3 %NROOT
      %+
   LOOP
   SWAPDROP
;
(Execution time: about 18s on 50g)

That compares more reasonably with the UserRPL Σ version(s) that complete in about 25s, also yielding the same result. This could be made even faster (16s) by performing extended real calculations and raising the final term to the 1/3 power instead of finding the cube root.

It's possible that there's some combination of modes/flag settings that will disable the automatic simplification process that Σ performs, but I haven't tried to find them. As it stands now, I don't believe the 50g UserRPL Σ versions are appropriate to include with the other benchmarks since they aren't actually performing the intended computations defined by the test.
Find all posts by this user
Quote this message in a reply
11-17-2018, 11:37 PM (This post was last modified: 11-17-2018 11:40 PM by pier4r.)
Post: #145
RE: Summation based benchmark for calculators
DavidM thanks for the insight! I tried to pick a formula that couldn't be optimized but the 50g won again!
(I wonder if the savage test can be optimized as well as it trivially use a function and its inverse)

I'll put a disclaimer to the results of the 50g.
Post #143,#144 included.

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
11-18-2018, 03:25 PM
Post: #146
RE: Summation based benchmark for calculators
(11-17-2018 11:37 PM)pier4r Wrote:  (I wonder if the savage test can be optimized as well as it trivially use a function and its inverse)

The formula for the Savage test can definitely be simplified by the 50g CAS:
Code:
'TAN(ATAN(EXP(LN(√SQ(X)))))+1'
SIMPLIFY

...yields:
Code:
'|X|+1'

You could probably come up with an implementation that starts with the long version of the above, then SIMPLIFY it and loop the modified algebraic to come up with a total. It would be fast, and of course accurate as well. But it wouldn't be running the actual Savage test, would it? I see this as the same issue, and the result would be similarly meaningless in the context of that benchmark.

After a bit of playing around with this, it appears that the UserRPL SIMPLIFY command will skip this particular optimization if you set system flag -111. However, the Σ command's simplification doesn't use the same code as SIMPLIFY. It appears to be hard-wired to simplify regardless of that flag's setting (it uses an internal SysRPL routine called SimplifyExpression instead).

Just to be clear, I actually think it's a Good Thing that Σ performs this simplification, in that the typical use case for that command will normally only benefit or remain neutral from that step. Benchmarking and performance comparisons are the only situations I can think of where this feature may actually be problematic, since you can end up running entirely different code than you originally intended.
Find all posts by this user
Quote this message in a reply
11-20-2018, 01:54 PM
Post: #147
RE: Summation based benchmark for calculators
TI Nspire CX CAS, hardware version N-0118AB (2018), OS 4.5.0.1180 (2017):
C with Ndless max=100000: 9 s

Jean-Charles
Find all posts by this user
Quote this message in a reply
12-01-2018, 10:54 PM
Post: #148
RE: Summation based benchmark for calculators
Updated to post #147

Interesting how the Prime still smokes even C on a recent nspire. I wonder if the prime sum function does the same optimizations of the 50g, although I think that Home and CAS on the prime are strictly separated.

Still impressive the prime and the nspire.

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
12-02-2018, 03:17 PM
Post: #149
RE: Summation based benchmark for calculators
HP-11C - RPN PROGRAM
MAX 10: 31.6 sec Result: 13.71183502
MAX 100: 316.2 sec Result: 139.2971874

CASIO FX-602P - KEYSTROKE PROGRAM
MAX 10: 9.2 sec Result: 13.71183502
MAX 100: 91.3 sec Result: 139.2971873

HP 42S - RPN PROGRAM
MAX 10: 3.5 sec Result: 13.7118350166
MAX 100: 31.9 sec Result: 139.297187046
Find all posts by this user
Quote this message in a reply
12-02-2018, 04:43 PM
Post: #150
RE: Summation based benchmark for calculators
HP-97 - RPN PROGRAM
MAX 10: 33.2 sec Result: 13.71183502


Attached File(s) Thumbnail(s)
   
Find all posts by this user
Quote this message in a reply
12-06-2018, 11:30 PM
Post: #151
RE: Summation based benchmark for calculators
HP-10C - RPN PROGRAM
MAX 10: 31.5 sec Result: 13.71183502
MAX 100: 316.5 sec Result: 139.2971874

10C 11C 12C 15C 16C 28C 28S 32S 32SII 33C 41C 41CV 41CX 42S 48SX 48G 97 100LX
Find all posts by this user
Quote this message in a reply
12-07-2018, 06:33 PM
Post: #152
RE: Summation based benchmark for calculators
I'll update asap. Thanks for the contribution!

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
12-08-2018, 07:18 PM
Post: #153
RE: Summation based benchmark for calculators
CASIO PB 700 - BASIC
MAX 10: 4.6 sec. Result: 13.71183502
MAX 100: 45.2 sec. Result: 139.297187

10C 11C 12C 15C 16C 28C 28S 32S 32SII 33C 41C 41CV 41CX 42S 48SX 48G 97 100LX
Find all posts by this user
Quote this message in a reply
12-11-2018, 11:39 PM
Post: #154
RE: Summation based benchmark for calculators
Just another take for Casio fx-720P ;-)

CASIO FX-720P - BASIC
MAX 10: 4.4 sec. Result: 13.71183502
MAX 100: 44.4 sec. Result: 139.297187

10C 11C 12C 15C 16C 28C 28S 32S 32SII 33C 41C 41CV 41CX 42S 48SX 48G 97 100LX
Find all posts by this user
Quote this message in a reply
12-13-2018, 07:54 PM
Post: #155
RE: Summation based benchmark for calculators
updated first post and wiki up to post #154

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
01-07-2019, 11:46 PM (This post was last modified: 01-07-2019 11:50 PM by ijabbott.)
Post: #156
RE: Summation based benchmark for calculators
TI-30X Pro MathPrint (sum function)

n=1000
t~104s
Result=1395.346288 [1395.346287743 internal]

n=100
t~11.3s
Result=139.2971870 [139.2971870461 internal]

(More than double the speed of TI-36X Pro / TI-30X Pro MultiView.)

— Ian Abbott
Find all posts by this user
Quote this message in a reply
01-08-2019, 10:57 AM
Post: #157
RE: Summation based benchmark for calculators
updated to post #156

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
01-10-2019, 12:27 AM
Post: #158
RE: Summation based benchmark for calculators
Hallo!

I have tried Nintendo New 2DS XL with SmileBasic.

This is the result:
max= 100000
Result = 139536.56649434
time = 0.55 sec.

Hey, this 14 times faster as the HP prime!

Yes, it is a interpreted structured BASIC. You can buy it like a game at the Nintendo store.
Yes, 3DS is a game handhold with a quad core ARM with 268 Mhz default clock and 804 Mhz on demand. But I am not shure, which clock SmileBAsic is using.
(This data I got from the german wikipedia.)

Here is the program for checking:
CLS
M=MAINTCNT '60 Ticks per second, I think
A=0
FOR X=1 TO 100000
A=A+POW(EXP(SIN(ATAN(RAD(X)))),1/3)
NEXT
PRINT A
PRINT ROUND(10/6*(MAINCNT-M))/100;" sec"

I have many fast calculator from HP 50 to Casio FX-CG20 and TI-Nspire.
But I think this is fastest handheld with the program editor for a high level language inside the device.

If you are interested, I have tried the 8 dame benchmark.

I hope it is ok, to tell about this astonishing result.


Bernd
Find all posts by this user
Quote this message in a reply
01-11-2019, 08:38 AM (This post was last modified: 01-11-2019 08:44 AM by berndpr.)
Post: #159
RE: Summation based benchmark for calculators
Hallo!

I have update the benchmark, because somebody told me, I made a mistake:
So I delete the RAD function.

100000 loop:
FOR X=1 TO 100000
A=A+POW(EXP(SIN(ATAN(A))),1/3)
NEXT

Note: POW is used because 3. Root doesn't exist
Time: 0.52 secs, A=139560.97614105


And with 1 million loop I got this:
Time: 5.22 secs, A=1395612.15872538


Has anybody tried a Raspberry PI with this benchmark?
Because you can build the Raspberry like a handheld with a small display and keyboard in little box. This could be faster as a handheld game consol.

Bernd
Find all posts by this user
Quote this message in a reply
01-12-2019, 02:53 PM (This post was last modified: 01-12-2019 07:41 PM by pier4r.)
Post: #160
RE: Summation based benchmark for calculators
I'll add those but not as calculator devices. Just as loose reference.

There are calculators with physical keyboards for math input, what is meant here. Then another category is app calculators , at least they have a screen for math input. Then there are programming languages running on whatever computing platform and those are another category again. I'd suppose a smartphone running python would crush everything. Or a tablet.

So thanks for contributing, but don't expect to see the DS count as calculator.

edit: I didn't realize the prime g2 was as fast as an iphone 6s with free42. wow.


update: updated up to post #159

Wikis are great, Contribute :)
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 7 Guest(s)