flutter/dev/devicelab/lib
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
..
command Devicelab android emulator (#113472) 2023-01-17 22:01:11 +00:00
framework Update collection-fors to prefer final (as per updated prefer_final_in_for_each) (#127511) 2023-05-26 23:34:36 +00:00
tasks Improve web benchmarks measurements (#127900) 2023-05-31 02:29:02 +00:00
versions [gallery] roll gallery to 6a8d738c94d0710e229d726729c09fdb5ccaf7ed (#122747) 2023-03-15 21:22:03 +00:00
microbenchmarks.dart Fix typos (#121171) 2023-02-23 19:43:21 +00:00