-
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
- Closed