You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2017/04/01 20:22:41 UTC

[jira] [Commented] (ARROW-616) [C++] Remove -g flag in release builds

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

Wes McKinney commented on ARROW-616:
------------------------------------

I'm pretty amazed by the difference in size of the binaries with and without debugging symbols.

With debugging symbols:

{code}
-rw-rw-r-- 1 wesm wesm 15334186 Apr  1 16:15 libarrow.a
-rw-rw-r-- 1 wesm wesm    24776 Apr  1 16:15 libarrow_benchmark_main.a
-rw-rw-r-- 1 wesm wesm  2143544 Apr  1 16:15 libarrow_io.a
lrwxrwxrwx 1 wesm wesm       16 Apr  1 16:15 libarrow_io.so -> libarrow_io.so.0*
lrwxrwxrwx 1 wesm wesm       20 Apr  1 16:15 libarrow_io.so.0 -> libarrow_io.so.0.0.0*
-rwxrwxr-x 1 wesm wesm  1094904 Apr  1 16:15 libarrow_io.so.0.0.0*
-rw-rw-r-- 1 wesm wesm 11654780 Apr  1 16:15 libarrow_ipc.a
lrwxrwxrwx 1 wesm wesm       17 Apr  1 16:15 libarrow_ipc.so -> libarrow_ipc.so.0*
lrwxrwxrwx 1 wesm wesm       21 Apr  1 16:15 libarrow_ipc.so.0 -> libarrow_ipc.so.0.0.0*
-rwxrwxr-x 1 wesm wesm  5633194 Apr  1 16:15 libarrow_ipc.so.0.0.0*
lrwxrwxrwx 1 wesm wesm       13 Apr  1 16:15 libarrow.so -> libarrow.so.0*
lrwxrwxrwx 1 wesm wesm       17 Apr  1 16:15 libarrow.so.0 -> libarrow.so.0.0.0*
-rwxrwxr-x 1 wesm wesm  7974868 Apr  1 16:15 libarrow.so.0.0.0*
-rw-rw-r-- 1 wesm wesm    36030 Apr  1 16:15 libarrow_test_main.a
{code}

without

{code}
-rw-rw-r-- 1 wesm wesm  1870514 Apr  1 16:16 libarrow.a
-rw-rw-r-- 1 wesm wesm     1984 Apr  1 16:16 libarrow_benchmark_main.a
-rw-rw-r-- 1 wesm wesm   322640 Apr  1 16:16 libarrow_io.a
lrwxrwxrwx 1 wesm wesm       16 Apr  1 16:16 libarrow_io.so -> libarrow_io.so.0*
lrwxrwxrwx 1 wesm wesm       20 Apr  1 16:16 libarrow_io.so.0 -> libarrow_io.so.0.0.0*
-rwxrwxr-x 1 wesm wesm   184888 Apr  1 16:16 libarrow_io.so.0.0.0*
-rw-rw-r-- 1 wesm wesm  1133796 Apr  1 16:16 libarrow_ipc.a
lrwxrwxrwx 1 wesm wesm       17 Apr  1 16:16 libarrow_ipc.so -> libarrow_ipc.so.0*
lrwxrwxrwx 1 wesm wesm       21 Apr  1 16:16 libarrow_ipc.so.0 -> libarrow_ipc.so.0.0.0*
-rwxrwxr-x 1 wesm wesm   599186 Apr  1 16:16 libarrow_ipc.so.0.0.0*
lrwxrwxrwx 1 wesm wesm       13 Apr  1 16:16 libarrow.so -> libarrow.so.0*
lrwxrwxrwx 1 wesm wesm       17 Apr  1 16:16 libarrow.so.0 -> libarrow.so.0.0.0*
-rwxrwxr-x 1 wesm wesm   904100 Apr  1 16:16 libarrow.so.0.0.0*
-rw-rw-r-- 1 wesm wesm     2350 Apr  1 16:16 libarrow_test_main.a
{code}

My understanding is that the debug symbols don't impact performance, and we lose the ability to debug core dumps from release builds without them. Any thoughts or opinions?

> [C++] Remove -g flag in release builds
> --------------------------------------
>
>                 Key: ARROW-616
>                 URL: https://issues.apache.org/jira/browse/ARROW-616
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: C++
>            Reporter: Wes McKinney
>            Assignee: Wes McKinney
>
> See SetupCxxFlags.cmake



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)