commit | e2b62088712bbb64987e8922ea68cfc9b09fc6ac | [log] [tgz] |
---|---|---|
author | Jens Johansen <jensj@google.com> | Thu Jan 28 14:16:25 2021 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Jan 28 14:16:25 2021 +0000 |
tree | a94e5003cf0df2a834b3e925ca69be3dcb789d13 | |
parent | 019ce33409e246973a217a7f9655444bc13d2619 [diff] |
[CFE] Shard front-end try bots better This CL shards the CFE try bot tests better. * co19_2 runs was previously made faster, so using 10 shards on that is way too much. * sdk_test runs was previously made faster, so using 5 shard on that is way too much. * unit_tests was taking ~10 minutes and wasn't sharded. This CL shards it. Note that this sharding is semi-complicated because a few tests use git which is not usable on shard-runs. To overcome this a previous CL renamed the tests that use git and here the sharded runs only run the tests that doesn't require git. Then the "main bot" runs the tests that require git. * unit tests suites was taking ~12 minutes and wasn't sharded. This CL shards it. Note that this sharding is semi-complicated because a few of the suites use git which is not usable on shard-runs. Also a single suite uses many more files that it is reasonable to include in the fileset for the shards. In both cases these are run on the "main bot" instead. The suit runnier was already "threaded", but simply launched all threads (say around 20 or something like that) at the same time. That's not ideal if having, say, 8 cores to work with (which is what the bots seem to have) - or 12 (which is what my computer has). Now only 'cores - 1' "threads" are run at any one time, and most "sub-suites" are sharded, so that if one finishes early that core can start another "sub-suite" - hopefully utilizing more of the resources avaiable on the computer running it. In total - in my 'benchmarks' (i.e. try bot runs) - the front-end-linux-release-x64-try bot previously rook around 35 minutes to complete, and with these changes it takes around 15 minutes to complete. The biggest entry in the timeline is now building dart which takes almost half that time. It does so with fewer shards than before, but each might be utilized for longer. Change-Id: Ie034058d8f33aafd21bc49f2bc878484563ba01c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181383 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
Dart is:
Optimized for UI: Develop with a programming language specialized around the needs of user interface creation.
Productive: Make changes iteratively: use hot reload to see the result instantly in your running app.
Fast on all platforms: Compile to ARM & x64 machine code for mobile, desktop, and backend. Or compile to JavaScript for the web.
Dart's flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:
Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.
Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js).
Dart is free and open source.
See LICENSE and PATENT_GRANT.
Visit dart.dev to learn more about the language, tools, and to find codelabs.
Browse pub.dev for more packages and libraries contributed by the community and the Dart team.
Our API reference documentation is published at api.dart.dev, based on the stable release. (We also publish docs from our beta and dev channels, as well as from the primary development branch).
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.