Return-Path: X-Original-To: apmail-commons-issues-archive@minotaur.apache.org Delivered-To: apmail-commons-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C14F588B9 for ; Wed, 7 Sep 2011 18:33:34 +0000 (UTC) Received: (qmail 18332 invoked by uid 500); 7 Sep 2011 18:33:34 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 18204 invoked by uid 500); 7 Sep 2011 18:33:33 -0000 Mailing-List: contact issues-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@commons.apache.org Delivered-To: mailing list issues@commons.apache.org Received: (qmail 18196 invoked by uid 99); 7 Sep 2011 18:33:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Sep 2011 18:33:33 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Sep 2011 18:33:31 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 26C7A86412 for ; Wed, 7 Sep 2011 18:33:10 +0000 (UTC) Date: Wed, 7 Sep 2011 18:33:10 +0000 (UTC) From: "Sebb (JIRA)" To: issues@commons.apache.org Message-ID: <702240466.26860.1315420390155.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1529202690.9151.1314191969099.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (MATH-650) FastMath has static code which slows the first access to FastMath MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/MATH-650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099185#comment-13099185 ] Sebb commented on MATH-650: --------------------------- It appears that the new code is almost twice as fast as the old. However, it can still take 20-30ms to initialise the class. This seems to be because of the large array initialisations. I hacked the code to comment out most of the array entries, leaving just one or two in each of the large arrays, and that improved the startup time to about 6 times as fast - about 6-7ms. [Of course that code won't work properly] So it might be worth attempting initialisation on demand, using a static holder class that contains the pre-calculated data. There was also a slight speed up from removing all the unused initialisation code and its data items. > 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