[
https://issues.apache.org/jira/browse/MATH-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102270#comment-13102270
]
Gilles commented on MATH-650:
-----------------------------
My micro-benchmark was performed on a PC:
{noformat}
Linux 2.6.32-5-vserver-amd64
SMP
x86_64
Debian GNU/Linux
{noformat}
As I pointed out already, it seems indispensable to have a uniform agreed-on
way to assess performance.
Honestly, I cannot guarantee that my "PerfTestUtils" class (which I used to get
the above figures) is not somehow flawed; that's why I've asked that people
have a look at it and raise their objections. The goal would be to reach a
consensus on what procedure _must_ be followed in order to propose (or make) a
change to CM that would be justified as performance improvement.
Hopefully, this would also make it easier to compare between different
platforms, and to obtain figures that can be compared.
I also think that there should be some follow-up on the part of the reporter,
such as publishing here what were the impact of the various changes performed
by Sebb (there was no reaction to his offering links to several snapshots and
my insistence on getting the new figures).
We already arrived several times to the conclusion that efficiency gains were
not always (often?) where it would seem.
Finally, let's recall that I compared the _additional_ gain of preset tables,
the baseline case being IOD (which I had nothing against). So, flaws in the
benchmark methodology put aside, my current conclusion is that using preset
tables is not worth the obvious drawbacks.
> FastMath has static code which slows the first access to FastMath
> -----------------------------------------------------------------
>
> Key: MATH-650
> URL: https://issues.apache.org/jira/browse/MATH-650
> Project: Commons Math
> Issue Type: Improvement
> Affects Versions: Nightly Builds
> Environment: Android 2.3 (Dalvik VM with JIT)
> Reporter: Alexis Robert
> Priority: Minor
>
> Working on an Android application using Orekit, I've discovered that a simple
> FastMath.floor() takes about 4 to 5 secs on a 1GHz Nexus One phone (only the
> first time it's called). I've launched the Android profiling tool (traceview)
> and the problem seems to be linked with the static portion of FastMath code
> named "// Initialize tables"
> The timing resulted in :
> - FastMath.slowexp (40.8%)
> - FastMath.expint (39.2%)
> \- FastMath.quadmult() (95.6% of expint)
> - FastMath.slowlog (18.2%)
> Hoping that would help
> Thanks!
> Alexis Robert
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira