commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexis Robert (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Edited] (MATH-650) FastMath has static code which slows the first access to FastMath
Date Wed, 14 Sep 2011 14:32:09 GMT

    [ https://issues.apache.org/jira/browse/MATH-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13104524#comment-13104524
] 

Alexis Robert edited comment on MATH-650 at 9/14/11 2:31 PM:
-------------------------------------------------------------

Yes the Orekit project uses FastMath.pow() but this wasn't accounted because I benchmarked
<clinit> which is static code initialization. If I benchmark the overall time took by
FastMath.pow, I get this :

- USE_PRECOMPUTED_TABLES = false => 5.768ms
- USE_PRECOMPUTED_TABLES = true => 182.373ms

      was (Author: ale6):
    Yes the Orekit project uses FastMath.pow() but this wasn't accounted because I benchmarked
<clinit> which is static code initialization. If I benchmark the overall time took by
FastMath.pow, it's more like this :

- USE_PRECOMPUTED_TABLES = false => 5.768ms
- USE_PRECOMPUTED_TABLES = true => 182.373ms
  
> 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
>         Attachments: FastMathLoadCheck.java
>
>
> 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

        

Mime
View raw message