commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From S├ębastien Brisard (Commented) (JIRA) <>
Subject [jira] [Commented] (MATH-650) FastMath has static code which slows the first access to FastMath
Date Sat, 11 Feb 2012 13:45:59 GMT


S├ębastien Brisard commented on MATH-650:

Hi Luc,
thanks for taking care of this difficult issue. I would lean on the binary side, for "safety"
reasons: unwanted modifications are less likely to occur. But I do realize that this can be
endlessly debated over, and to be really honnest, I would be very happy with either solution
(or even the runtime computation: as far as I am concerned, the typical timing of my computations
is about 1 hour to one week... plenty of seconds...).
If we opt for the binary option, maybe we could provide a binary-to-ascii method, for anyone
to check the data (maybe that's already available).
I'm surprised though that binary files take longer to load than litteral. I should have thought
that reading a presumably longer table, and parsing a presumably larger number of octets for
each double would result in a longer loading time. I must have missed something.

> 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
>             Fix For: 3.0
>         Attachments:,
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message