[ https://issues.apache.org/jira/browse/MATH-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13090308#comment-13090308 ]
Sebb commented on MATH-650: --------------------------- bq. I wonder if we should have some way to compute these tables at compile time and have them simply loaded without recomputation. Not sure the compiler can create the values. But we could add code to print out the generated data, and then incorporate back into the source. Should be no need to update it once created, however to check the ongoing accuracy of the tables, the generating code could be moved into a test class, and used to compare against the fixed data. This would probably require some package protected helper methods to give access to the private data. Or the generator code could remain in the FastMath class, to be called by the unit test code only. > 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