Return-Path: X-Original-To: apmail-accumulo-notifications-archive@minotaur.apache.org Delivered-To: apmail-accumulo-notifications-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8FE5110459 for ; Thu, 1 May 2014 16:44:19 +0000 (UTC) Received: (qmail 62126 invoked by uid 500); 1 May 2014 16:44:17 -0000 Delivered-To: apmail-accumulo-notifications-archive@accumulo.apache.org Received: (qmail 62086 invoked by uid 500); 1 May 2014 16:44:16 -0000 Mailing-List: contact notifications-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jira@apache.org Delivered-To: mailing list notifications@accumulo.apache.org Received: (qmail 61884 invoked by uid 99); 1 May 2014 16:44:15 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 May 2014 16:44:15 +0000 Date: Thu, 1 May 2014 16:44:15 +0000 (UTC) From: "Christopher Tubbs (JIRA)" To: notifications@accumulo.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ACCUMULO-2762) Use better compiler optimizations by default for native maps MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ACCUMULO-2762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13986751#comment-13986751 ] Christopher Tubbs commented on ACCUMULO-2762: --------------------------------------------- I don't know which optimizations are available on all other platforms/compilers/environments, but on gcc 4.4.7 on CentOS, the difference between -O2 and -O3 are that -O3 includes -O2 optimizations, plus {{-fgcse-after-reload -finline-functions -fipa-cp-clone -fpredictive-commoning -ftree-vectorize -funswitch-loops}} On gcc 4.8.2 on Fedora 19 and 20, -O3 also includes {{-ftree-loop-distribute-patterns -ftree-partial-pre -fvect-cost-model}} In both cases, -O4 and higher are just aliases for -O3. I assume it's the same for other versions of gcc in other environments as well, so I can't tell if the suggestion to use -O4 or -O5 was a serious one. As far as I know, in general, the tradeoffs for enabling these optimizations are compile time and final library size. Since our native code is small, neither of those are very concerning, and we should enable as many optimizations as are available, unless there's a specific reason to exclude some. (gcc 4.8.2 offers a lot more optimizations with -O2 than does 4.4.7 with -O2, so the larger difference is probably the compiler version used to build the native libraries, than the difference betwen -O2 and -O3 in a given version.) > Use better compiler optimizations by default for native maps > ------------------------------------------------------------ > > Key: ACCUMULO-2762 > URL: https://issues.apache.org/jira/browse/ACCUMULO-2762 > Project: Accumulo > Issue Type: Improvement > Components: native > Affects Versions: 1.6.0 > Reporter: Christopher Tubbs > Priority: Minor > Labels: newbie > Fix For: 1.6.1, 1.7.0 > > > [A comment|https://issues.apache.org/jira/browse/ACCUMULO-2749?focusedCommentId=13985780&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13985780] on ACCUMULO-2749 identified improved performance with better compiler optimizations for native maps (-O3 instead of -O2). > The native shared library is small, and enabling these additional optimizations will not result in a significantly slower build, so I don't see any reason why we should not enable better optimizations by default in the Makefile, if we can identify them. -- This message was sent by Atlassian JIRA (v6.2#6252)