-
Task
-
Resolution: Won't Do
-
Minor
-
None
-
None
Currently proxy (this is part of Envoy's dependency actually) downloads and builds chromium v8 engine. This takes a great amount of time.
I made some experiments on taking v8 out from build dependencies and putting it into its own repository.
- Move v8 to its own repository
- Also move its build dependency GN to its own repository
Profiling data comparison - build done on my laptop:
=== Maistra1.1 PHASE SUMMARY INFORMATION ===
Total launch phase time 6.417 s 0.32%
Total init phase time 0.352 s 0.02%
Total loading phase time 1.052 s 0.05%
Total analysis phase time 5.334 s 0.26%
Total preparation phase time 0.015 s 0.00%
Total execution phase time 2022.587 s 99.35%
Total finish phase time 0.050 s 0.00%
------------------------------------------------
Total run time 2035.810 s 100.00%
Critical path (1091.393 s):
Time Percentage Description
1087.906 s 99.68% action 'Executing genrule @com_googlesource_chromium_v8// build'
25.5 ms 0.00% action 'Compiling external/envoy/source/common/common/version_linkstamp.cc'
3.462 s 0.32% action 'Linking src/envoy/envoy'
0.10 ms 0.00% runfiles for //src/envoy envoy
=== Maistra_no_v8 PHASE SUMMARY INFORMATION ===
Total launch phase time 6.507 s 0.48%
Total init phase time 0.302 s 0.02%
Total loading phase time 1.036 s 0.08%
Total analysis phase time 4.525 s 0.33%
Total preparation phase time 0.014 s 0.00%
Total execution phase time 1349.579 s 99.09%
Total finish phase time 0.053 s 0.00%
------------------------------------------------
Total run time 1362.018 s 100.00%
Critical path (145.977 s):
Time Percentage Description
2.99 ms 0.00% action 'Writing script external/envoy/bazel/foreign_cc/gperftools_build/logs/Configure_script.sh'
103.407 s 70.84% action 'CcConfigureMakeRule external/envoy/bazel/foreign_cc/gperftools_build/include'
0.03 ms 0.00% null for @envoy//bazel/foreign_cc gperftools
0.03 ms 0.00% null for @envoy//source/common/profiler profiler_lib
0.03 ms 0.00% null for @envoy//source/server/http admin_lib
0.04 ms 0.00% null for @envoy//source/server server_lib
38.747 s 26.54% action 'Compiling external/envoy/source/server/server.cc'
26.7 ms 0.02% action 'Compiling external/envoy/source/common/common/version_linkstamp.cc'
3.793 s 2.60% action 'Linking src/envoy/envoy'
0.04 ms 0.00% runfiles for //src/envoy envoy
Gain:
LOCAL 1.1: 2035 seconds
LOCAL no-v8: 1362 seconds
GAIN: 33%
COPR 1.1: 11760 seconds (196 min, 3.26h)
COPR no-v8: 9180 seconds (153 min, 2.55h)
GAIN: 22%
Source tarball size reduced from 358 to 309 M
- is related to
-
OSSM-1281 [envoy] Separate v8 in its own package
-
- New
-