dart-sdk/pkg/analysis_server
Konstantin Shcheglov f99d3628d1 FrontEndCompiler that computes all information about many libraries at once.
Before we used a hack to request resolution information for a single
library as needed, and requested kernels separately. This was hugely
inefficient (but faster to implement as a steel thread). We had then
recompile large library cycles many times, and take just one library.

Before: 480 seconds to compile analyzer (ouch!).
Now: 16 seconds (30 times faster).

Without --previewDart2: 14 seconds.

I will check why it is still slower later.

R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ic3d47684daa74c53f0336523e17b656f26328acf
Reviewed-on: https://dart-review.googlesource.com/33144
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-01-09 07:05:54 +00:00
..
benchmark Create the new flag --use-cfe in the analyzer, analysis server and analyzer_cli and migrate the old behavior of --preview-dart-2 to --use-cfe. The --preview-dart-2 flag is now a no-op, with functionality coming soon. 2018-01-08 22:37:05 +00:00
bin Server clean-up 2015-01-12 17:34:14 +00:00
doc Add two new element types to the protocol. 2017-10-18 19:02:47 +00:00
lib Create the new flag --use-cfe in the analyzer, analysis server and analyzer_cli and migrate the old behavior of --preview-dart-2 to --use-cfe. The --preview-dart-2 flag is now a no-op, with functionality coming soon. 2018-01-08 22:37:05 +00:00
test FrontEndCompiler that computes all information about many libraries at once. 2018-01-09 07:05:54 +00:00
tool Add two new element types to the protocol. 2017-10-18 19:02:47 +00:00
analysis_options.yaml Restore partial analysis of analysis options files 2017-06-22 08:00:50 -07:00
AUTHORS pkg/analysis_server: don't explicitly import matcher - use exports from unittest 2015-05-08 20:57:44 +00:00
CHANGELOG.md pkg/analysis_server: don't explicitly import matcher - use exports from unittest 2015-05-08 20:57:44 +00:00
CONTRIBUTING.md Update the contributing file for the analysis server. 2017-02-08 08:13:20 -08:00
LICENSE Logging support for server 2014-01-17 16:52:25 +00:00
pubspec.yaml Bump the version of intl used by analysis-server. 2017-10-16 20:09:57 +00:00
README.md Update the analysis server diagnostic page - re-enable code completion and overlay pages, 2017-05-30 18:46:33 -07:00

analysis_server

A long-running process that provides analysis results to other tools.

The analysis server is designed to provide on-going analysis of one or more code bases as those code bases are changing.

Using the server

The analysis server is not intended to be used stand-alone, and therefore does not have a human-friendly user interface.

Clients (typically tools, such as an editor) are expected to run the analysis server in a separate process and communicate with it using a JSON protocol. The protocol is specified in the file analysis_server/doc/api.html.

Features and bugs

Please file feature requests and bugs at the issue tracker.