Skip to content

In PackageBuilder._discoverLibraries, initialize newFiles outside loop. #3695

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 29, 2024

Conversation

srawlins
Copy link
Member

@srawlins srawlins commented Feb 29, 2024

I noticed with print debugging that addFilesReferencedBy was being called way too many times for a given library. It turns out this is because it was being called on different Sets, when really it should mostly be operating on one Set. That one Set is newFiles. It was initialized in the do-while loop, but it can be initialized before the do-while loop.

I checked the logic to make sure this change is a no-op.

I also timed documenting flutter. This change seems to reduce the time-to-document by ~100 seconds, but that is only with one before and one after, so I promise nothing.

  • Thanks for your contribution! Please replace this text with a description of what this PR is changing or adding and why, list any relevant issues, and review the contribution guidelines below.

  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

I noticed with print debugging that `addFilesReferencedBy` was being called way
too many times for a given library. It turns out this is because it was being
called on different Sets, when really it should mostly be operating on one Set.
That one Set is `newFiles`. It was initialized in the do-while loop, but it can
be initialized before the do-while loop.

I checked the logic to make sure this change is a no-op.

I also timed documenting flutter. This change seems to reduce the
time-to-document by ~100 seconds, but that is only with one before and one
after, so I promise nothing.
@srawlins srawlins requested a review from kallentu February 29, 2024 07:02
@kallentu
Copy link
Member

I also timed documenting flutter. This change seems to reduce the time-to-document by ~100 seconds, but that is only with one before and one after, so I promise nothing.

If this is truly the case, I'm shocked.

@srawlins
Copy link
Member Author

If this is truly the case, I'm shocked.

Haha, I promise nothing! 100 seconds probably isn't within the margin of error, but it could be a much smaller improvement on average.

@srawlins srawlins merged commit 40fef4c into dart-lang:main Feb 29, 2024
@srawlins srawlins deleted the move-new-files branch February 29, 2024 18:44
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request Mar 4, 2024
…shelf, sse, test, web

Revisions updated by `dart tools/rev_sdk_deps.dart`.

dartdoc (https://github.com/dart-lang/dartdoc/compare/eed92d3..cec45fb):
  cec45fbe  2024-02-29  Kallen Tu  Deprecate --resources-dir option. (dart-lang/dartdoc#3696)
  40fef4c2  2024-02-29  Sam Rawlins  In PackageBuilder._discoverLibraries, initialize newFiles outside loop. (dart-lang/dartdoc#3695)
  2760d254  2024-02-28  Sam Rawlins  Deprecate the 'include-externals' option. (dart-lang/dartdoc#3694)
  c1c0854d  2024-02-28  Sam Rawlins  Improve support for package-with-macro-application (dart-lang/dartdoc#3687)
  b28ee1f8  2024-02-28  Sam Rawlins  Deprecate the `--nodoc` Option (dart-lang/dartdoc#3690)
  7988d91f  2024-02-28  Sam Rawlins  Improve some exception messaging and comments (dart-lang/dartdoc#3691)
  a1610aa6  2024-02-28  Sam Rawlins  Bump to 8.0.6 (dart-lang/dartdoc#3692)

ecosystem (https://github.com/dart-lang/ecosystem/compare/3e4f286..49a3cbb):
  49a3cbb  2024-03-01  dependabot[bot]  Bump peter-evans/find-comment (dart-lang/ecosystem#241)
  9dd8384  2024-03-01  dependabot[bot]  Bump subosito/flutter-action from 2.12.0 to 2.13.0 (dart-lang/ecosystem#240)
  7acf3bc  2024-03-01  dependabot[bot]  Bump actions/download-artifact from 4.1.1 to 4.1.3 (dart-lang/ecosystem#242)
  5d6a0c0  2024-03-01  dependabot[bot]  Bump peter-evans/create-or-update-comment (dart-lang/ecosystem#238)
  91fcd1d  2024-03-01  dependabot[bot]  Bump actions/upload-artifact from 4.0.0 to 4.3.1 (dart-lang/ecosystem#239)

glob (https://github.com/dart-lang/glob/compare/ef5f065..379d60c):
  379d60c  2024-02-28  Kevin Moore  Require Dart 3.3 (dart-archive/glob#88)

http (https://github.com/dart-lang/http/compare/6e0a46f..470d2c3):
  470d2c3  2024-03-01  dependabot[bot]  Bump actions/cache from 4.0.0 to 4.0.1 (dart-lang/http#1145)
  a5b17e0  2024-03-01  dependabot[bot]  Bump actions/setup-java from 4.0.0 to 4.1.0 (dart-lang/http#1144)
  c1d3481  2024-02-29  Brian Quinlan  Split package:http_profile into multiple files (dart-lang/http#1143)
  69332d3  2024-02-29  Brian Quinlan  API adjustments based on cupertino_http usage experience (dart-lang/http#1141)
  199f9fa  2024-02-28  Brian Quinlan  Add a dart:io WebSocket implementation (dart-lang/http#1139)
  37fceb8  2024-02-28  Brian Quinlan  Fix incorrect documentation that used the old `isOwned` name (dart-lang/http#1140)

markdown (https://github.com/dart-lang/markdown/compare/62e3349..dd47c5d):
  dd47c5d  2024-02-28  Kevin Moore  WIP: v0.31.2 spec updates (dart-archive/markdown#591)

pool (https://github.com/dart-lang/pool/compare/782da82..c118f69):
  c118f69  2024-02-28  Kevin Moore  Latest lints, test wasm on dev channel (dart-archive/pool#81)

protobuf (https://github.com/dart-lang/protobuf/compare/ef0ab7d..b761358):
  b761358  2024-03-04  Nate Biggs  Support unknown json data and add internal set/clear field methods for generated accessors. (google/protobuf.dart#918)
  1822b81  2024-03-01  dependabot[bot]  Bump dart-lang/setup-dart from 1.5.0 to 1.6.2 (google/protobuf.dart#917)
  adab58c  2024-03-01  dependabot[bot]  Bump actions/cache from 3.3.1 to 4.0.1 (google/protobuf.dart#916)
  c283db5  2024-03-01  Ömer Sinan Ağacan  Ignore the UnmodifiableUint8ListView deprecation warning (google/protobuf.dart#915)

shelf (https://github.com/dart-lang/shelf/compare/b432620..da6a69b):
  da6a69b  2024-03-01  dependabot[bot]  Bump actions/cache from 4.0.0 to 4.0.1 (dart-lang/shelf#415)

sse (https://github.com/dart-lang/sse/compare/13ec752..b53ba14):
  b53ba14  2024-02-29  Kevin Moore  Prepare release of v4.1.5 (dart-archive/sse#105)

test (https://github.com/dart-lang/test/compare/26953ba..525f77b):
  525f77b2  2024-03-01  dependabot[bot]  Bump actions/cache from 4.0.0 to 4.0.1 (dart-lang/test#2191)
  b1041775  2024-03-01  dependabot[bot]  Bump github/codeql-action from 3.23.2 to 3.24.6 (dart-lang/test#2193)

web (https://github.com/dart-lang/web/compare/fa4280c..8870d04):
  8870d04  2024-02-29  Devon Carew  update the format of the web idl versions file (dart-lang/web#194)
  641a8df  2024-02-29  Srujan Gaddam  Add generated element constructors (dart-lang/web#185)
  5e5adc8  2024-02-28  Srujan Gaddam  Use URI instead of library name (dart-lang/web#191)
  2f00226  2024-02-28  Kevin Moore  Move IDL version details (dart-lang/web#189)
  23475c0  2024-02-28  Devon Carew  Include MDN API documentation as class and member dartdoc comments (dart-lang/web#143)

Change-Id: Ia08bf4a304a1073473d6abddb64275cca84dea13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355521
Auto-Submit: Devon Carew <[email protected]>
Reviewed-by: Konstantin Shcheglov <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants