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 DE1C17CB4 for ; Sun, 11 Sep 2011 00:53:33 +0000 (UTC) Received: (qmail 18767 invoked by uid 500); 11 Sep 2011 00:53:33 -0000 Delivered-To: apmail-commons-issues-archive@commons.apache.org Received: (qmail 18613 invoked by uid 500); 11 Sep 2011 00:53: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 18605 invoked by uid 99); 11 Sep 2011 00:53:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Sep 2011 00:53:32 +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; Sun, 11 Sep 2011 00:53:30 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id D95DA8E8B2 for ; Sun, 11 Sep 2011 00:53:08 +0000 (UTC) Date: Sun, 11 Sep 2011 00:53:08 +0000 (UTC) From: "Gilles (JIRA)" To: issues@commons.apache.org Message-ID: <968483548.14130.1315702388887.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=13102186#comment-13102186 ] Gilles commented on MATH-650: ----------------------------- Answering my own question using code committed in revision 1167657. *Single call* _--- Previous revision ---_ {noformat} floor (runs per timed block: 1, timed blocks: 1) StrictMath: 5.232920e-01 (0.000000e+00) ms Math: 1.188100e-02 (0.000000e+00) ms FastMath: 4.942540e+00 (0.000000e+00) ms {noformat} _--- Current revision (preset arrays) ---_ {noformat} floor (runs per timed block: 1, timed blocks: 1) StrictMath: 5.290030e-01 (0.000000e+00) ms Math: 1.201200e-02 (0.000000e+00) ms FastMath: 4.871144e+00 (0.000000e+00) ms {noformat} _--- Current revision (computed arrays) ---_ {noformat} floor (runs per timed block: 1, timed blocks: 1) StrictMath: 5.150580e-01 (0.000000e+00) ms Math: 1.236000e-02 (0.000000e+00) ms FastMath: 4.938346e+00 (0.000000e+00) ms {noformat} *100 calls* _--- Previous revision ---_ {noformat} floor (runs per timed block: 10, timed blocks: 10) StrictMath: 6.119510e-03 (1.700389e-02) ms Math: 8.260500e-04 (3.575574e-04) ms FastMath: 5.001669e-02 (1.563012e-01) ms {noformat} _--- Current revision (preset arrays) ---_ {noformat} floor (runs per timed block: 10, timed blocks: 10) StrictMath: 6.157360e-03 (1.718482e-02) ms Math: 8.144700e-04 (3.643913e-04) ms FastMath: 4.921887e-02 (1.537010e-01) ms {noformat} _--- Current revision (computed arrays) ---_ {noformat} floor (runs per timed block: 10, timed blocks: 10) StrictMath: 7.027420e-03 (1.983324e-02) ms Math: 9.193500e-04 (3.579075e-04) ms FastMath: 4.789965e-02 (1.498412e-01) ms {noformat} So, at startup, * it takes about the same time to call {{floor}} once and 100 times, * there is no difference between using preset arrays or computing them ({{floor}} does not need the arrays, so they are not initialized). > 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