commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] [Commented] (MATH-650) FastMath has static code which slows the first access to FastMath
Date Thu, 08 Sep 2011 22:12:09 GMT


Gilles commented on MATH-650:

I just want to understand where time is lost. As I said already, I understand that IOD is
really useful.
Sebb reports that loading precomputed tables is twice faster, but that is without IOD, if
I understood correctly. I was interested in how much more is gained with preset arrays in
the real use-case.
If we refer to the description of this issue, the problem is that "FastMath.floor" takes about
5 seconds for the first call. Now, with IOD, what does this number become? If the answer is
(close to) 0 second, I'd rephrase: I don't like having tables that huge in the source code
for no reason.

> FastMath has static code which slows the first access to FastMath
> -----------------------------------------------------------------
>                 Key: MATH-650
>                 URL:
>             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:


View raw message