Commit Graph

40 Commits

Author SHA1 Message Date
Jackson Gardner
b928b3c1c3
Reland --omit-type-checks for benchmarks. (#131493)
Because the cost of type checks dominate our dart2wasm benchmarks, we've
decided to pass `--omit-type-checks` for now.

This was previously reverted because the skwasm benchmarks were broken
in general for a separate reason, and my getting rid of `bringup: true`
broke the tree. I ended up fixing the benchmarks and getting rid of
`bringup: true` in a separate commit, so this just adds the flag only.
2023-07-31 13:17:34 -07:00
Loïc Sharma
81b0e9f111
Revert "Run benchmarks with --omit-type-checks" (#131353)
Reverts flutter/flutter#131102 as it closed the tree due to `Linux web_benchmarks_skwasm` failures. The test seems to be timing out without completing.

Example failure: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20web_benchmarks_skwasm/1/overview
2023-07-26 19:23:37 +00:00
Jackson Gardner
8046e13373
Run benchmarks with --omit-type-checks (#131102)
We've decided to use the `--omit-type-checks` flag for our dart2wasm benchmarks. Right now, many of the benchmark results are dominated by type checks and most of what we are actually trying to measure get drowned out in the noise.
2023-07-26 17:10:07 +00:00
Jackson Gardner
1b887c72b5
Skwasm benchmarks. (#129681)
This enables benchmarks for the Skwasm renderer, compiled with
dart2wasm.

Platform views aren't supported in Skwasm yet, so we are skipping those
benchmarks for now.
2023-06-28 17:16:19 -07:00
Jackson Gardner
e8f4d803ba
Improve web benchmarks measurements (#127900)
By default, the browser fuzzes the timer APIs such that they have a granularity of approximately 100 microseconds (this is due to Spectre mitigation techniques). However, many of the thing we are trying to measure actually have a much finer granularity than 100 microseconds. As a result, many of our benchmarks are extremely noisy and don't provide accurate data.

By serving the initial script files with the `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp` HTTP headers, the browser runs the benchmarks in a `crossOriginIsolated` context, which restores the fine granularity of APIs such as `performance.now()` to microsecond precision.

Also, we were considering anything an outlier that was more than one standard deviation away from the mean. In a normal distribution, that means we are only capturing 68% of the data and the rest are considered outliers. This is not ideal. Doing two standard deviations away captures 95% of the data, and the outliers are in the remaining 5%, which seems much more reasonable.
2023-05-31 02:29:02 +00:00
Harry Terkelsen
daaba8a4aa
Add --local-web-sdk in devicelab runner to make --ab testing work for web (#123825)
This allows us to check for performance differences in local Web SDKs.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-03-31 14:25:00 -07:00
Michael Goderbauer
ab3c82244e
Remove unnecessary null checks in dev/devicelab (#118842) 2023-01-20 18:56:44 +00:00
Jenn Magder
c6ced845e3
Remove custom unawaited, prefer dart:async version (#103212) 2022-05-07 08:49:04 -07:00
Ian Hickson
f90b019c68
Enable prefer_relative_imports and fix files. (#91573) 2021-10-11 10:28:07 -07:00
Ian Hickson
61a0add286
Enable avoid_redundant_argument_values lint (#91409) (#91462) 2021-10-08 09:25:14 -07:00
Zachary Anderson
b9d2177da0
Revert "Enable avoid_redundant_argument_values lint (#91409)" (#91461)
This reverts commit 5fd259be24.
2021-10-07 21:11:07 -07:00
Ian Hickson
5fd259be24
Enable avoid_redundant_argument_values lint (#91409) 2021-10-07 20:13:02 -07:00
Darren Austin
ef5ffd08f6
Migrate devicelab framework code to null safety. (#86325)
(Attempt to reland #85993)
2021-07-13 12:14:50 -07:00
Darren Austin
08ef7752d5
Revert "Migrate core devicelab framework to null safety. (#85993)" (#86269)
This reverts commit 2175e64e4f.
2021-07-11 23:25:25 -07:00
Darren Austin
2175e64e4f
Migrate core devicelab framework to null safety. (#85993)
Migrate core devicelab framework to null safety.
2021-07-11 18:36:30 -07:00
Greg Spencer
88f3811055
Turn on avoid_dynamic_calls lint, except packages/flutter tests, make appropriate changes. (#84476)
This adds avoid_dynamic_calls to the list of lints, and fixes all instances where it was violated.

Importantly, this lint is NOT turned on for flutter/packages/test, because those changes are happening in another PR: #84478
2021-06-14 14:16:57 -07:00
Jenn Magder
94a41cde83
Mixed null safety in dev/devicelab (#84017) 2021-06-05 02:29:03 -07:00
Anis Alibegić
c99ed373b3
Fixed large amount of spelling errors (#83744) 2021-06-02 10:14:06 -07:00
gaaclarke
7cdd33fe99
added unawaited function for devicelab and turned on unawaited_futures linter (#82833) 2021-05-18 14:19:03 -07:00
Ian Hickson
6beafa7b16
Apply style guide regarding createTempSync pattern (#81090) 2021-04-27 14:59:03 -07:00
Phil Quitslund
61c30c41b2
fix sort_directives violations (#80817) 2021-04-21 13:49:03 -07:00
Michael Goderbauer
cb867bbedc
Enable unnecessary_await_in_return lint (#77434) 2021-03-05 18:38:15 -08:00
Yegor
1f8501f0a4
web benchmark choose renderer explicitly (#73582) 2021-01-08 12:04:03 -08:00
nturgut
272b23cabd
[web] make sure tests and benchmarks use correct backend - add autodetect false (#73047)
* add autodetect false

* fix typo
2020-12-28 10:55:53 -08:00
nturgut
14206399c3
make sure tests and becnhmarks use correct backend (#72628) 2020-12-21 09:55:23 -08:00
Yegor
9e5d22d101
Say [APP] instead of [Gallery] in web benchmarks (#69624) 2020-11-03 10:13:07 -08:00
Casey Hillers
9e206a0c93
Refactor devicelab logic to use TaskResult instead of JSON (#67550) 2020-10-07 16:37:09 -07:00
Tianguang
02f8e02880
Add Web Benchmarks for Flutter Gallery (Flutter Side) — 1/4 (#57576) 2020-06-24 10:28:03 -07:00
Jonah Williams
f04d61944a
[devicelab] enable macOS, windows, linux, and web on devicelab bots (#56336)
* enable macOS desktop

* enable all configs on CI

* Update track_widget_creation_enabled_task.dart

* Update framework.dart

* remove FLUTTER_WEB

* remove config environment variables

* configure in correct spot
2020-05-04 18:49:28 -07:00
Yegor
4e3cf198e8
disable tracing for non-frame based benchmarks (#54236) 2020-04-08 09:17:03 -07:00
Yegor
29c88081b9
Collect chrome://tracing data in Web benchmarks (#53879)
Collect chrome://tracing data in Web benchmarks
2020-04-03 15:10:39 -07:00
Mouad Debbar
45a8b3db81
complete text layout benchmark (#53295) 2020-03-27 14:56:02 -07:00
Mouad Debbar
5bb552270d
[web] Add benchmarks for text layout (#51663) 2020-03-10 18:46:03 -07:00
Mouad Debbar
03d6b58002
[web] Allow benchmarks to customize their score keys (#51493) 2020-02-28 13:54:45 -08:00
Yegor
cd0fbd3205
improve web benchmark error reporting (#51490) 2020-02-28 10:14:22 -08:00
Alexandre Ardhuin
0bd45bc222
update lint list + enable unnecessary_string_interpolations (#50593) 2020-02-14 09:43:52 +01:00
Yegor
b34046903b
Fix stack trace parsing on non-debug builds; add e2e tests (#50652)
* Fix stack trace parsing on non-debug builds; add e2e tests
2020-02-13 18:34:08 -08:00
Yegor
e4014a55c8
Web benchmarks: make headless mode opt-out (#50166) 2020-02-05 13:21:33 -08:00
Yegor
ff7eb778f6
Respect CHROME_EXECUTABLE in web benchmarks (#49911) 2020-01-31 18:31:08 -08:00
Yegor
423459da18
Initial web benchmark harness and 3 benchmarks (#49460)
Initial web benchmark harness and 3 benchmarks
2020-01-30 14:19:17 -08:00