You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Joe McDonnell (Jira)" <ji...@apache.org> on 2023/05/25 17:19:00 UTC
[jira] [Created] (IMPALA-12165) Add support for compiling C++ code with -gsplit-dwarf
Joe McDonnell created IMPALA-12165:
--------------------------------------
Summary: Add support for compiling C++ code with -gsplit-dwarf
Key: IMPALA-12165
URL: https://issues.apache.org/jira/browse/IMPALA-12165
Project: IMPALA
Issue Type: Improvement
Components: Backend
Affects Versions: Impala 4.3.0
Reporter: Joe McDonnell
The split DWARF option for compiling puts the debug info into a separate .dwo file for each .o file. This dramatically reduces the amount of debug info that goes into the binary itself, because multiple binaries can all point to the .dwo files. This can dramatically reduce the disk space and link time, which can be very useful for the development iteration cycle.
Here are some numbers:
{noformat}
Debug build without -gsplit-dwarf:
Disk space (after make be-test):
$ du -s be/build
33018616 be/build
Link time:
touch be/build/debug/runtime/libRuntime.a
time make -j8 be-test
real 0m49.091s
user 4m28.908s
sys 0m40.422s
Debug build with -gsplit-dwarf:
Disk space (after make be-test):
$ du -s be/build
17052144 be/build
Link time:
touch be/build/debug/runtime/libRuntime.a
time make -j8 be-test
real 0m16.798s
user 1m12.010s
sys 0m20.397s
{noformat}
Diskspace is about 1/2. Link time is about 1/3. This seems like it could be a good improvement to the developer iteration cycle.
This could be provided as an option alongside IMPALA_COMPRESSED_DEBUG_INFO / IMPALA_MINIMAL_DEBUG_INFO.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org