Closed dnfield closed 3 weeks ago
/cc @Hixie @devoncarew
Hi Dan,
We're using imports with package:pedantic
, so I'd like to understand what happened with the benchmark here. I experimented with imports and both dartanalyzer on the command line in IntelliJ, and couldn't repro: https://github.com/dart-lang/pedantic/pull/22#issuecomment-491603852 ... is there any chance you could point me to more details on what the benchmark is doing please? If there's an easy way for me to repro locally that'd be great...
Thanks!
Morgan
When we tried to switch Flutter's analysis options files to package references and relative file references, it made analysis take about 1.5x longer. The benchmark basically ran dartanalyzer 3 times nad measured the average time.
It's possible that in the time since filing this the issue has been fixed - we could try reapplying the move to flutter and see if the benchmark still regresses.
Yes, I think it's worth checking.
Or if there's a way to just run the benchmark offline we could do that?
@davidmorgan, the benchmark is largely testing the same thing as flutter analyze --flutter-repo --benchmark
.
You might want to run flutter update-packages
first, if you haven't done that in your flutter checkout in a while.
@dnfield , based on this comment, would it be possible and worth the effort to look at re-introducing the change to "reduce duplicate of analysis_options.yaml" in the flutter repo? I'm curious if the significant changes will positively impact a public repo on the latest versions of dart.
We could try and then see what it does to the benchmark(s). However, I think the priority is not quite as high anymore with the flutter_lints package, and it's mainly something that would help the flutter specific repositories rather than flutter applications.
I'm marking this as stale; analysis options were greatly refactored for Dart 3.4 and 3.5. If this is observed anew, we can look into it.
see https://github.com/flutter/flutter/pull/26244
Goal of that PR is to reduce duplicate of analysis_options.yaml across multiple repos by moving it to a package and importing it. It does so by moving the options to a package, and in various places using
include: package:...
.It caused our analysis benchmarks to jump from 60s to 90s: https://flutter-dashboard.appspot.com/benchmarks.html