While testing my HP-71X emulator ported to HP-49G+, I have executed all Turtle/Hare benchmarks (published by Valentin Albillo on this forum some time ago) and here are the results:
(Test 1) Matrix operations:All tests were performed with 33.5K RAM version (only version possible on HP-49G+) with a special object containing Math, Finance and Circuit Analysis ROMs in port 5 (usually occupied by Forth or HP-41 Translator ROM). The numbers in parenthesis are times for HP-71X running on HP-48GX/49G. The numerical results of all calculations are the same as on the real HP-71B and HP-71X running on 48/49. This was a good test of Saturn/ARM emulation and a good way to prove that arithmetical instructions with decimal numbers in decimal mode are correctly emulated.-------------------------------------------------------------------
Dimensions MAT A=INV(A) MAT A=A*A MAT A=A+A
-------------------------------------------------------------------
10x10 1.46 (2.48) 1.26 (2.37) 0.07 (0.15)
20x20 10.34 (18.02) 9.61 (18.38) 0.25 (0.58)
30x30 33.16 (58.93) 31.98 (61.69) 0.55 (1.27)
40x40 76.68 (136.81) 74.93 (145.53) 0.98 (2.25)(Test 2) Polynomial solver:
334.47 (597.76) seconds
(Test 3. Integrate & solve combined:
7.4 (12.81) seconds (with precision 1E-5)
(Test 4) Double integrals:
(I1) 2.68 (5.37) seconds (with precision 1E-3)
(I2) 5.51 (10.59) seconds (with precision 1E-3)(Test 5) Triple integral:
193.75 (382.11) seconds (with precision 1E-3)
(Test 6) Complex-valued matrix operations:
MAT W = INV(Z) in 33.25 (58.85) seconds
MAT W = Z*Z in 18.36 (34.60) seconds
MAT W = Z+Z in 0.26 (0.60) seconds(Test 7) Solving a definite integral of an implicit function:
71.44 (128.05) seconds (precision 1E-3)
127.19 (228.18) seconds (precision 1E-6)(Test 8) Integrating a recursively defined function:
15.66 (28.55) seconds (precision 1E-3)
31.62 (57.67) seconds (precision 1E-6)(Test 9) Polynomial solver for roots of high multiplicity:
4.33 (7.98) seconds
(Test 10) A probabilistic theoretical application:
3434.05 seconds / 57 min 14.05 s (6590.23 seconds / 1 h 49 min 50.23 s)
I expected a more linear increase in speed over HP-48GX/49G but, obviously, some Saturn instructions have been more efficiently emulated on ARM than the others because the HP-49G+ speed increase over HP-48GX/49G goes from about 1.8x to 2.2x with an average of 2x so the emulated Saturn/ARM is approx. twice as fast compared to the real Saturn. I am talking about pure Saturn emulation, not about RPL/SysRPL execution where many Saturn code have been patched and rewritten in pure ARM machine language. I haven't yet made any extensive benchmarking of HP-41X and HP-42X but I suspect the results would be very close to the HP-71X.
Hope this will be interesting to someone especially to the ones who hoped that HP-49G+ will be 6-7 times faster than HP-48/49 (as I read somewhere). The truth is: The speed increase isn't that significant when working with application written completly in machine language (like are all those emulators).
Best regards.