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

Side by Side Diff: docs/linux_faster_builds.md

Issue 1877013002: Update Linux build docs to remove GYP references. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixes Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « docs/linux_eclipse_dev.md ('k') | docs/linux_suid_sandbox.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Tips for improving build speed on Linux 1 # Tips for improving build speed on Linux
2 2
3 This list is sorted such that the largest speedup is first; see 3 This list is sorted such that the largest speedup is first; see
4 [Linux build instructions](linux_build_instructions.md) for context and 4 [Linux build instructions](linux_build_instructions.md) for context and
5 [Faster Builds](common_build_tasks.md) for non-Linux-specific techniques. 5 [Faster Builds](common_build_tasks.md) for non-Linux-specific techniques.
6 6
7 [TOC] 7 [TOC]
8 8
9 ## Use goma 9 ## Use goma
10 10
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 59
60 ## Linking 60 ## Linking
61 61
62 ### Dynamically link 62 ### Dynamically link
63 63
64 We normally statically link everything into one final executable, which produces 64 We normally statically link everything into one final executable, which produces
65 enormous (nearly 1gb in debug mode) files. If you dynamically link, you save a 65 enormous (nearly 1gb in debug mode) files. If you dynamically link, you save a
66 lot of time linking for a bit of time during startup, which is fine especially 66 lot of time linking for a bit of time during startup, which is fine especially
67 when you're in an edit/compile/test cycle. 67 when you're in an edit/compile/test cycle.
68 68
69 Run gyp with the `-Dcomponent=shared_library` flag to put it in this 69 Add the flag `is_component_build=true` in your build args (to edit build args
70 configuration. (Or set those flags via the `GYP_DEFINES` environment variable.) 70 run `gn args out/foo` where `out/foo` is your build directory).
71
72 e.g.
73
74 build/gyp_chromium -D component=shared_library
75 ninja -C out/Debug chrome
76 71
77 See the 72 See the
78 [component build page](http://www.chromium.org/developers/how-tos/component-buil d) 73 [component build page](http://www.chromium.org/developers/how-tos/component-buil d)
79 for more information. 74 for more information.
80 75
81 ### Linking using gold 76 ### Linking using gold
82 77
83 The experimental "gold" linker is much faster than the standard BFD linker. 78 The experimental "gold" linker is much faster than the standard BFD linker.
84 79
85 On some systems (including Debian experimental, Ubuntu Karmic and beyond), there 80 On some systems (including Debian experimental, Ubuntu Karmic and beyond), there
(...skipping 10 matching lines...) Expand all
96 91
97 ## WebKit 92 ## WebKit
98 93
99 ### Build WebKit without debug symbols 94 ### Build WebKit without debug symbols
100 95
101 WebKit is about half our weight in terms of debug symbols. (Lots of templates!) 96 WebKit is about half our weight in terms of debug symbols. (Lots of templates!)
102 If you're working on UI bits where you don't care to trace into WebKit you can 97 If you're working on UI bits where you don't care to trace into WebKit you can
103 cut down the size and slowness of debug builds significantly by building WebKit 98 cut down the size and slowness of debug builds significantly by building WebKit
104 without debug symbols. 99 without debug symbols.
105 100
106 Set the gyp variable `remove_webcore_debug_symbols=1`, either via the 101 Set the GN build arg `remove_webcore_debug_symbols=true` (to edit build args
107 `GYP_DEFINES` environment variable, the `-D` flag to gyp, or by adding the 102 run `gn args out/foo` where `out/foo` is your build directory).
108 following to `~/.gyp/include.gypi`:
109
110 ```
111 {
112 'variables': {
113 'remove_webcore_debug_symbols': 1,
114 },
115 }
116 ```
117 103
118 ## Tune ccache for multiple working directories 104 ## Tune ccache for multiple working directories
119 105
120 (Ignore this if you use goma.) 106 (Ignore this if you use goma.)
121 107
122 Increase your ccache hit rate by setting `CCACHE_BASEDIR` to a parent directory 108 Increase your ccache hit rate by setting `CCACHE_BASEDIR` to a parent directory
123 that the working directories all have in common (e.g., 109 that the working directories all have in common (e.g.,
124 `/home/yourusername/development`). Consider using 110 `/home/yourusername/development`). Consider using
125 `CCACHE_SLOPPINESS=include_file_mtime` (since if you are using multiple working 111 `CCACHE_SLOPPINESS=include_file_mtime` (since if you are using multiple working
126 directories, header times in svn sync'ed portions of your trees will be 112 directories, header times in svn sync'ed portions of your trees will be
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 or for a release build. 145 or for a release build.
160 *** 146 ***
161 147
162 Quick and dirty benchmark numbers on a HP Z600 (Intel core i7, 16 cores 148 Quick and dirty benchmark numbers on a HP Z600 (Intel core i7, 16 cores
163 hyperthreaded, 12 GB RAM) 149 hyperthreaded, 12 GB RAM)
164 150
165 * With tmpfs: 151 * With tmpfs:
166 * 12m:20s 152 * 12m:20s
167 * Without tmpfs 153 * Without tmpfs
168 * 15m:40s 154 * 15m:40s
OLDNEW
« no previous file with comments | « docs/linux_eclipse_dev.md ('k') | docs/linux_suid_sandbox.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698