dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.06k stars 1.56k forks source link

flutter analyze perf regression with a recent sdk -> engine roll #44081

Open devoncarew opened 3 years ago

devoncarew commented 3 years ago

More details here: https://github.com/flutter/flutter/issues/69893, but there was a recent perf regression in the flutter_repo_batch benchmark. This runs on the skia perf bots - https://flutter-flutter-perf.skia.org/e/?begin=1604242084&end=1604571480&keys=X3a8d39b49bc8119825b0b6aeb766da91&requestType=0&xbaroffset=22352.

Note that I don't see a corresponding change in the golem flutter analyze benchmarks.

devoncarew commented 3 years ago

@scheglov - can you take a look at see if anything stands out? Note that the sdk roll which caused this was large - many dart sdk commits - and may or may not have been rolled back.

If you'd like help interpreting the flutter-skia benchmarks bots page let me know - there are a few contacts on the flutter side who could help interpret.

scheglov commented 3 years ago

Do we know the range of SDK commits?

The golem benchmark also behaved strangely - improved on 619e388a1d8ba8263b93cd4e9e5e6c98a00fe0f2 (which might be, there are many changes), and went back on d484a6f09f80efe7268b500887552c3b73697286 (which does not look right - we just stopped to pass some inexpensive data).

I could try to run flutter_repo_batch if I knew where it is and to run it. I see several my commits in https://dart.googlesource.com/sdk.git/+log/25ef5dc559cf..5acb5fcf84cb. None of them is obvious that it will cause the issue, but this is all I can think of right now.

devoncarew commented 3 years ago

I believe it's the same benchmark as analyzer_benchmark / flutter_repo_batch_maximum, visible from this dashboard: https://flutter-dashboard.appspot.com/benchmarks.html (the top left chart).

It should be the same as the flutter_analyze benchmark - running flutter analyze --flutter-repo (over the flutter/flutter repo).

The range of SDK commits is fairly broad - I don't believe we'd rolled for a while, and that last roll had a strange dev -> master or master -> dev change (that brought in 700 sdk commits). @a-siva might be able to help us determine the actual range