mirror of
https://github.com/dart-lang/sdk
synced 2024-09-30 18:11:20 +00:00
a4dd314c9e
When iterating on core library changes or changes in the AOT compiler
many seconds are wasted waiting on gen_kernel/compile_platform to
parse Dart code. This happens because we are running these tools
from sources on prebuilt Dart SDK.
This CL allows SDK developer to opt-in into AOT compiling these
tools by adding `precompile_tools=true` to their DART_GN_ARGS.
AOT compilation is performed using prebuilt SDK - so these
executables do not need to be recompiled if core libraries or
VM changes reducing iteration cycles.
pkg/vm/tool/precompiler2 is tweaked to detect when DART_GN_ARGS
contains `precompile_tools=true` and use precompiled
gen_kernel.exe instead of running it from source.
Using precompiled compile_platform takes vm_platform_strong.dill
build from 20 seconds to 3 seconds.
Using precompiled gen_kernel takes small benchmark build from
~10 seconds to 2 seconds.
This relands
|
||
---|---|---|
.. | ||
analysis_server | ||
bazel | ||
compiler | ||
dart2native | ||
dart2wasm | ||
dartanalyzer | ||
dartdev | ||
ddc | ||
dds | ||
dtd | ||
gen_kernel | ||
kernel-service | ||
aot_snapshot.gni | ||
application_snapshot.gni | ||
BUILD.gn | ||
compile_platform.gni | ||
create_timestamp.gni | ||
OWNERS |