mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 23:34:47 -05:00
Improve build performance by using jumbo build
The Jumbo build is the Chromium implementation of a Unity build system aimed at dramatically lowering the compilation times. It can be easily enabled with `use_jumbo_build=true`. When you enable this, the biggest problem is that name conflicts can occur between multiple c++ files merged, which is no problem for `deno`. Because the V8's Jumbo build is managed in upstream, and `deno` will just pick up a stable build V8. So, this patch enables Jumbo build by default. After this patch, the total number of build objects are halved. (1014 -> 493) FYI, the following results are tested in my local environment. - IMAC 5K, i5 4-cores, 24GB, 512GB SSD Test result1: No use ccache | |Jumbo build without ccache|Normal build without ccache| |---|--------------------------|---------------------------| | 1 | 0:05:26 | 0:11:31 | | 2 | 0:05:24 | 0:11:29 | | 3 | 0:05:25 | 0:11:28 | | 4 | 0:05:24 | 0:11:29 | | 5 | 0:05:26 | 0:11:29 | |AVG| 0:05:25 | 0:11:29 | Test result2: Use ccache | |Jumbo build with ccache|Normal build with ccache| |---|-----------------------|------------------------| | 1 | 0:01:38 | 0:01:13 | | 2 | 0:01:45 | 0:01:21 | | 3 | 0:01:39 | 0:02:20 | | 4 | 0:01:45 | 0:02:16 | | 5 | 0:01:42 | 0:02:19 | | 6 | 0:01:17 | 0:01:11 | | 7 | 0:01:01 | 0:01:48 | | 8 | 0:00:54 | 0:01:57 | | 9 | 0:01:03 | 0:02:15 | |10 | 0:01:36 | 0:02:19 | |AVG| 0:01:26 | 0:01:54 | Refs: https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
This commit is contained in:
parent
15590a0cde
commit
dc8841d8a9
1 changed files with 4 additions and 0 deletions
4
.gn
4
.gn
|
@ -32,6 +32,10 @@ default_args = {
|
|||
treat_warnings_as_errors = false
|
||||
rust_treat_warnings_as_errors = true
|
||||
|
||||
# Enable Jumbo build by default
|
||||
# https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
|
||||
use_jumbo_build = true
|
||||
|
||||
# https://cs.chromium.org/chromium/src/docs/ccache_mac.md
|
||||
clang_use_chrome_plugins = false
|
||||
|
||||
|
|
Loading…
Reference in a new issue