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

Sebb commented on MATH-650:
---------------------------

I think the code should not be released with multiple implementations.
These have been very useful for testing purposes, but are unnecessary and 
potentially confusing for end-users.

If it is desired to keep the alternate implementations, these could perhaps be 
moved elsewhere in the directory structure.

==

However, I don't think the resources solution is ideal. It requires additional 
supporting code, the data files are not readable, and is not always as fast as 
the arrays. It also requires large amounts of temporary stack use when loading 
the arrays.

Its only advantage as far as I can tell is that it means the arrays can be 
private to FastMath.
This could be fixed for the static array case by using element getters rather 
than providing access to the entire arrays.
If this proves workable performance-wise, that would be just as good for me as 
the original local arrays.
My second choice is external arrays with direct access rather than getters (as 
is done at present).
                
> 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
>             Fix For: 3.0
>
>         Attachments: FastMathLoadCheck.java, LucTestPerformance.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.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to