Files
sdk/pkg/analyzer/lib
Konstantin Shcheglov 7501d10e51 Check if the element is already computed in getLibraryByUri().
This makes symbol search 2 times faster.

Before:
(name: request, count: 1, elapsed: 0:00:00.138251, elapsedSelf: 0:00:00.000463)
  (name: findDeclarations, count: 1, elapsed: 0:00:00.137743, elapsedSelf: 0:00:00.002565)
    (name: discoverAvailableFiles, count: 1, elapsed: 0:00:00.000114, elapsedSelf: 0:00:00.000114)
    (name: ownKnown, count: 1, elapsed: 0:00:00.005737, elapsedSelf: 0:00:00.005737)
    (name: findDeclarations, count: 1, elapsed: 0:00:00.129327, elapsedSelf: 0:00:00.007679)
      (name: getLibraryByUri, count: 7091, elapsed: 0:00:00.082191, elapsedSelf: 0:00:00.082191)
      (name: finder, count: 7091, elapsed: 0:00:00.039457, elapsedSelf: 0:00:00.039457)
  (name: convert, count: 1, elapsed: 0:00:00.000045, elapsedSelf: 0:00:00.000045)(declarations: 5)


After:
(name: request, count: 1, elapsed: 0:00:00.070215, elapsedSelf: 0:00:00.000583)
  (name: findDeclarations, count: 1, elapsed: 0:00:00.069580, elapsedSelf: 0:00:00.002453)
    (name: discoverAvailableFiles, count: 1, elapsed: 0:00:00.000126, elapsedSelf: 0:00:00.000126)
    (name: ownKnown, count: 1, elapsed: 0:00:00.004227, elapsedSelf: 0:00:00.004227)
    (name: findDeclarations, count: 1, elapsed: 0:00:00.062774, elapsedSelf: 0:00:00.011947)
      (name: getLibraryByUri, count: 7091, elapsed: 0:00:00.009449, elapsedSelf: 0:00:00.009449)
      (name: finder, count: 7091, elapsed: 0:00:00.041378, elapsedSelf: 0:00:00.041378)
  (name: convert, count: 1, elapsed: 0:00:00.000052, elapsedSelf: 0:00:00.000052)(declarations: 5)

Bug: https://github.com/Dart-Code/Dart-Code/issues/4106
Change-Id: Iade1c80870a0bbd6b909a5306be57499bed27b27
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/304540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-05-19 19:55:28 +00:00
..