commit | bd103ebc50dc0fa6ca3b4aadf6b5cce30e9b1955 | [log] [tgz] |
---|---|---|
author | Konstantin Shcheglov <scheglov@google.com> | Sun Sep 16 17:42:23 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Sun Sep 16 17:42:23 2018 +0000 |
tree | e7534d768098ac621e38a47ad20bd1480c803e2c | |
parent | c5d77d1d8b0007c3a9cb78195d897c6da11f809d [diff] |
Store unlinked data with unlinked salt. Before this change we used the whole AnalysisOptions.signature as salt. This means that if two packages have different set of lints, they have different options signatures, and so we have to parse and compute unlinked data for SDK and all shared packages separately. But unlinked data depends only on very small set of options, practically only on parser options. This improves performance on workspaces with many modules and empty cache: Before: <= --- Analyzing in 36122 ms. <= Computed implemented in: 50138 ms. <= --- Analyzing in 47905 ms. <= Computed implemented in: 55339 ms. <= --- Analyzing in 45141 ms. <= Computed implemented in: 60169 ms. After: <= --- Analyzing in 27957 ms. <= Computed implemented in: 11645 ms. <= --- Analyzing in 21378 ms. <= Computed implemented in: 9439 ms. <= --- Analyzing in 21719 ms. <= Computed implemented in: 10546 ms. Here "computed implemented" is computing subtypes of classes in the open file - it required unlinked data for all files in all available packages. It also helps for full cache: analysis: 6300 vs. 5700 ms. implemented: 5700 vs. 3700 ms. R=brianwilkerson@google.com, paulberry@google.com Change-Id: I10dbc6d062617466ad5f35ae77bd1e58a6bb606c Reviewed-on: https://dart-review.googlesource.com/75128 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Reviewed-by: Paul Berry <paulberry@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
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.