Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Issue 1461163003: Removed debug symbols from Newlib PNaCl toolchain. (Closed)

Created:
5 years, 1 month ago by Sean Klein
Modified:
5 years, 1 month ago
CC:
mojo-reviews_chromium.org
Base URL:
https://github.com/domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Removed debug symbols from Newlib PNaCl toolchain. Doing some preliminary profiling on the linking/optimizing stages of PNaCl's toolchain, for an arbitrary pexe with debug info enabled, pnacl-ld and pnacl-opt took roughly equivalent time (For spinning cube, each stage took ~10-15 seconds). However, when stripping out debug info from "./out/Debug/newlib_pnacl/spinning_cube.pexe.debug", I noticed that even just removing debug info took a whopping 7 seconds. Long story short: LLVM Debug info is bloated and slow in the version used by PNaCl. It has since been improved (source: https://www.youtube.com/watch?v=EgkZ8PTNSHQ), but updating the LLVM version for PNaCl would be a nontrivial task. For a shorter-term solution, when using the newlib_pnacl toolchain, reduce the symbol level. For my machine, reduced total build time from ~250 seconds to ~150 seconds. Build times compared using goma, with a "cold" run done for each before the measured time to warm goma's cache. BUG=#483,#554 R=viettrungluu@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/65a713206fc07fc0f35647d2b2aa4d062f51ea31

Patch Set 1 : #

Total comments: 2

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5 lines, -0 lines) Patch
M build/toolchain/nacl/BUILD.gn View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (6 generated)
Sean Klein
5 years, 1 month ago (2015-11-20 01:20:04 UTC) #6
viettrungluu
lgtm w/bug filed and noted https://codereview.chromium.org/1461163003/diff/20001/build/toolchain/nacl/BUILD.gn File build/toolchain/nacl/BUILD.gn (right): https://codereview.chromium.org/1461163003/diff/20001/build/toolchain/nacl/BUILD.gn#newcode47 build/toolchain/nacl/BUILD.gn:47: # TODO(smklein): Don't modify ...
5 years, 1 month ago (2015-11-20 21:41:02 UTC) #7
Sean Klein
https://codereview.chromium.org/1461163003/diff/20001/build/toolchain/nacl/BUILD.gn File build/toolchain/nacl/BUILD.gn (right): https://codereview.chromium.org/1461163003/diff/20001/build/toolchain/nacl/BUILD.gn#newcode47 build/toolchain/nacl/BUILD.gn:47: # TODO(smklein): Don't modify symbol_level from the default value ...
5 years, 1 month ago (2015-11-20 22:05:02 UTC) #9
Sean Klein
5 years, 1 month ago (2015-11-20 22:07:15 UTC) #10
Message was sent while issue was closed.
Committed patchset #2 (id:40001) manually as
65a713206fc07fc0f35647d2b2aa4d062f51ea31 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698