HP Forums
newRPL: new decimal library, new benchmarks - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: Not HP Calculators (/forum-7.html)
+--- Forum: Not quite HP Calculators - but related (/forum-8.html)
+--- Thread: newRPL: new decimal library, new benchmarks (/thread-4529.html)



newRPL: new decimal library, new benchmarks - Claudio L. - 08-16-2015 01:07 AM

For those following the progress of newRPL, I was able to run some quick benchmarks of transcendental functions on newRPL using the new decimal library, which is now officially part of newRPL.
You can read more about it here.

Now that the port to the new decimal library is complete (or almost), work will resume on the user interface and other areas.


RE: newRPL: new decimal library, new benchmarks - Claudio L. - 08-17-2015 02:35 PM

For completeness, I ran again an old benchmark I did last year, but this time with the new decimal library.
Details are here.


RE: newRPL: new decimal library, new benchmarks - Helix - 08-19-2015 12:00 AM

Thank you for the updates.

It seems weird to me that for transcendental functions the speed improvement is about 10x with 12 digits, and for + - * / operations the speed improvement is more than 100x, even with 32 digits.

Do you have an explanation for such a difference in speed improvement?


RE: newRPL: new decimal library, new benchmarks - Francois Lanciault - 08-19-2015 02:34 AM

Good job!

Looking forward to try my own benchmark on it!

François

(08-16-2015 01:07 AM)Claudio L. Wrote:  For those following the progress of newRPL, I was able to run some quick benchmarks of transcendental functions on newRPL using the new decimal library, which is now officially part of newRPL.
You can read more about it here.

Now that the port to the new decimal library is complete (or almost), work will resume on the user interface and other areas.



RE: newRPL: new decimal library, new benchmarks - Claudio L. - 08-19-2015 01:24 PM

(08-19-2015 12:00 AM)Helix Wrote:  Thank you for the updates.

It seems weird to me that for transcendental functions the speed improvement is about 10x with 12 digits, and for + - * / operations the speed improvement is more than 100x, even with 32 digits.

Do you have an explanation for such a difference in speed improvement?

The explanation is quite simple: when you know exactly the precision you are working with, you can develop algorithms that are much more optimized than a generic algorithm that works with any precision. Many of the best "tricks" to improve speed like look-up tables become impractical for variable precision. Algorithms used on the 50g are exceptionally well thought out and optimized for the Saturn processor.
There's still plenty of room for improvement in this department but for now for the first time it feels acceptable (unlike the ROM you tested, where speed was barely on par with the stock firmware).