Files
sdk/pkg/analysis_server
Jaime Wren dd95365f76 Optimization for the MeanReciprocalRankComputer.  This change doesn't have the object hold onto the list of ranks for the entire duration of a run, but has a running sum instead (similar to ArithmeticMeanComputer).
This would have been an over-optimization originally, but at this point, we have 10 of these computer objects in completion_metrics.dart, and we are running this algorithm with up to 1.2 million ranks.

(Assuming that an int takes 4 bytes which I believe is true...) On a recent run of Brians, 29.4 MB of data was the running total of all the ranks.  With this change, the same data will be stored with 10 doubles and 10 ints.

Change-Id: If97ca18e78782c02a3ca0a3ed9d6a9725f5a05ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140321
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-03-21 19:50:36 +00: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 original protocol is specified in the file analysis_server/doc/api.html and (less complete) Language Server Protocol support is documented in tool/lsp_spec/README.md.

Features and bugs

Please file feature requests and bugs at the issue tracker.