- 10 Sep, 2023 1 commit
-
-
Daco Harkes authored
Support for FFI calls with `@Native external` functions through Native assets on MacOS and iOS. This enables bundling native code without any build-system boilerplate code. For more info see: * https://github.com/flutter/flutter/issues/129757 ### Implementation details for MacOS and iOS. Dylibs are bundled by (1) making them fat binaries if multiple architectures are targeted, (2) code signing these, and (3) copying them to the frameworks folder. These steps are done manual rather than via CocoaPods. CocoaPods would have done the same steps, but (a) needs the dylibs to be there before the `xcodebuild` invocation (we could trick it, by having a minimal dylib in the place and replace it during the build process, that works), and (b) can't deal with having no dylibs to be bundled (we'd have to bundle a dummy dylib or include some dummy C code in the build file). The dylibs are build as a new target inside flutter assemble, as that is the moment we know what build-mode and architecture to target. The mapping from asset id to dylib-path is passed in to every kernel compilation path. The interesting case is hot-restart where the initial kernel file is compiled by the "inner" flutter assemble, while after hot restart the "outer" flutter run compiled kernel file is pushed to the device. Both kernel files need to contain the mapping. The "inner" flutter assemble gets its mapping from the NativeAssets target which builds the native assets. The "outer" flutter run get its mapping from a dry-run invocation. Since this hot restart can be used for multiple target devices (`flutter run -d all`) it contains the mapping for all known targets. ### Example vs template The PR includes a new template that uses the new native assets in a package and has an app importing that. Separate discussion in: https://github.com/flutter/flutter/issues/131209. ### Tests This PR adds new tests to cover the various use cases. * dev/devicelab/bin/tasks/native_assets_ios.dart * Runs an example app with native assets in all build modes, doing hot reload and hot restart in debug mode. * dev/devicelab/bin/tasks/native_assets_ios_simulator.dart * Runs an example app with native assets, doing hot reload and hot restart. * packages/flutter_tools/test/integration.shard/native_assets_test.dart * Runs (incl hot reload/hot restart), builds, builds frameworks for iOS, MacOS and flutter-tester. * packages/flutter_tools/test/general.shard/build_system/targets/native_assets_test.dart * Unit tests the new Target in the backend. * packages/flutter_tools/test/general.shard/ios/native_assets_test.dart * packages/flutter_tools/test/general.shard/macos/native_assets_test.dart * Unit tests the native assets being packaged on a iOS/MacOS build. It also extends various existing tests: * dev/devicelab/bin/tasks/module_test_ios.dart * Exercises the add2app scenario. * packages/flutter_tools/test/general.shard/features_test.dart * Unit test the new feature flag.
-
- 07 Sep, 2023 2 commits
-
-
Andrew Kolos authored
Resolves #134070 Adds a flag to the `test_runner.dart test` script that will cause the test runner to exit upon first failure (or, said another way, exit without retrying). This is in parity with the `--exit` flag of `dev/devicelab/bin/run.dart`.
-
Andrew Kolos authored
Fixes #134154 This PR also changes the default value of the `--exit` flag from `true` to `false`. Effectively, this is not a change in behavior since `--exit` didn't previously work.
-
- 31 Aug, 2023 4 commits
-
-
Andrew Kolos authored
Fixes https://github.com/flutter/flutter/issues/133790 Provides help text for the `--task-args` option of the `test_runner` devicelab command. The current help text is just copypasta from another option's help text
-
Jim Graham authored
This benchmark will track the performance of the RTree implementation to cull very large pictures down to just the portion visible on the screen.
-
Pierrick Bouvier authored
To implement windows-arm64 support, it is needed to add architecture as a subdirectory (https://github.com/flutter/flutter/issues/129805). In short, when performing a flutter windows build, we have: - Before: build/windows/runner/Release/gallery.exe - After: build/windows/x64/runner/Release/gallery.exe This convention follows what flutter linux build does. Addresses: https://github.com/flutter/flutter/issues/129805 Addresses: https://github.com/flutter/flutter/issues/116196 Design doc: [flutter.dev/go/windows-arm64](https://flutter.dev/go/windows-arm64)
-
Victoria Ashworth authored
Xcode 15 introduced an [error](https://github.com/flutter/flutter/issues/132755) into Cocoapods when building macOS apps. When `pod lib lint` runs, it under the covers is building the app with `xcodebuild`, which is why this error occurs when linting. A fix has been made in Cocoapods, but is not in an official release so we can't upgrade Cocoapods yet. This is to temporarily ignore lint failure due to that error. Fixes https://github.com/flutter/flutter/issues/132980. Tracking issue to upgrade Cocoapods when fix is in a release: https://github.com/flutter/flutter/issues/133584 Since Xcode 15 isn't in CI, I tested it in a one-off led test: * [Pre-fix failure](https://chromium-swarm.appspot.com/task?id=6431f228ecf98e10) * [Post-fix success](https://chromium-swarm.appspot.com/task?id=645ba7ebdab97210)
-
- 23 Aug, 2023 1 commit
-
-
Jackson Gardner authored
This makes two changes to prepare for incoming changes to skwasm in the web engine: * We will (at least for now) be depending on the `WebAssembly.Function` constructor in `skwasm`, which is hidden behind the `--experimental-wasm-type-reflection` flag. We need to pass that when running skwasm benchmarks. * We are going to be upgrading the skwasm build to a newer version of emscripten, which exposes the wasm exports via the `wasmExports` property instead of the `asm` property. Make sure to support either, if passed.
-
- 22 Aug, 2023 2 commits
-
-
Jonah Williams authored
Reverts flutter/flutter#133083 failing on cocoapods: ``` [2023-08-22 16:28:37.783355] [STDOUT] stdout: [ ] Error output from CocoaPods: [2023-08-22 16:28:37.783379] [STDOUT] stdout: â³ [2023-08-22 16:28:37.783402] [STDOUT] stdout: [ ] [!] The version of CocoaPods used to generate the lockfile (1.12.1) is higher than the version of the current executable (1.11.3). Incompatibility issues may arise. [2023-08-22 16:28:37.783423] [STDOUT] stdout: [2023-08-22 16:28:37.783445] [STDOUT] stdout: [!] Automatically assigning platform `iOS` with version `11.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`. [2023-08-22 16:28:37.783469] [STDOUT] stdout: [2023-08-22 16:28:37.784059] [STDOUT] stderr: [ ] Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies. [2023-08-22 16:28:37.784102] [STDOUT] stderr: To update the CocoaPods specs, run: [2023-08-22 16:28:37.784126] [STDOUT] stderr: pod repo update [2023-08-22 16:28:37.784147] [STDOUT] stderr: ``` https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_ios%20new_gallery_ios__transition_perf/10590/overview
-
Jonah Williams authored
This shrinks the size of the reply image attachments which should make it easier to find the actionable issues in https://github.com/flutter/flutter/issues/132690
-
- 15 Aug, 2023 1 commit
-
-
Jonah Williams authored
Missing the _test.dart
-
- 14 Aug, 2023 1 commit
-
-
Jonah Williams authored
Enable Impeller benchmarks for drawAtlas/drawVertices on iOS/Metal, Android/GLES, and Android/Vulkan. Enable impeller tessellation benchmarks on iOS/Metal and Android/Vulkan - not GLES as this is measuring backend agnostic performance.
-
- 11 Aug, 2023 1 commit
-
-
Matan Lurey authored
Partial work towards https://github.com/flutter/flutter/issues/132245. I have to admit I don't totally understand what I've updated, or whether there are more integration points needed.
-
- 09 Aug, 2023 2 commits
-
-
Victoria Ashworth authored
This PR includes the following changes. These changes only apply to iOS 17 physical devices. | Command | Change Description | Changes to User Experience | | ------------- | ------------- | ------------- | | `flutter run --release` | Uses `devicectl` to install and launch application in release mode. | No change. | | `flutter run` | Uses Xcode via automation scripting to run application in debug and profile mode. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. | | `flutter run --use-application-binary=xxxx` | Creates temporary empty Xcode project and use Xcode to run via automation scripting in debug and profile. | Xcode will be opened in the background. Errors/crashes may be caught in Xcode and therefore may not show in terminal. | | `flutter install` | Uses `devicectl` to check installed apps, install app, uninstall app. | No change. | | `flutter screenshot` | Will return error. | Will return error. | Other changes include: * Using `devicectl` to get information about the device * Using `idevicesyslog` and Dart VM logging for device logs Note: Xcode automation scripting (used in `flutter run` for debug and profile) does not work in a headless (without a UI) interface. No known workaround. Fixes https://github.com/flutter/flutter/issues/128827, https://github.com/flutter/flutter/issues/128531.
-
gaaclarke authored
issue: https://github.com/flutter/flutter/issues/131784 ## 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
-
- 03 Aug, 2023 2 commits
-
-
gaaclarke authored
[Impeller] Add animated_blur_backdrop_filter_perf execution on samsung vulkan and opengles (#131864) issue: https://github.com/flutter/flutter/issues/131784
-
gaaclarke authored
fixes https://github.com/flutter/flutter/issues/131782 ## 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 --------- Co-authored-by:
Xilai Zhang <xilaizhang@google.com>
-
- 02 Aug, 2023 1 commit
-
-
gaaclarke authored
This calculation is important if you want to calculate the probability that one thing is better than another.
-
- 31 Jul, 2023 1 commit
-
-
Jackson Gardner authored
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.
-
- 26 Jul, 2023 2 commits
-
-
Loïc Sharma authored
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
-
Jackson Gardner authored
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.
-
- 14 Jul, 2023 1 commit
-
-
Victoria Ashworth authored
Added to be able to view logs from https://github.com/flutter/engine/pull/43616. Added to debug https://github.com/flutter/flutter/issues/129836
-
- 07 Jul, 2023 1 commit
-
-
Victoria Ashworth authored
Adding debugging for https://github.com/flutter/flutter/issues/129836. Takes a screenshot when startup test takes too long (10 minutes). Also, removes some old debugging and add new debugging message.
-
- 29 Jun, 2023 1 commit
-
-
Jackson Gardner authored
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.
-
- 24 Jun, 2023 1 commit
-
-
Brandon DeRosier authored
For tracking perf improvements with changes like https://github.com/flutter/engine/pull/43152.
-
- 02 Jun, 2023 1 commit
-
-
Victoria Ashworth authored
Workaround solution for: https://github.com/flutter/flutter/issues/121231 See https://github.com/flutter/flutter/issues/120808#issuecomment-1551826299 Error Case 2 for more information. Sometimes the `ios-deploy` process does not return the logs from the application. We've been unable to figure out why. This is a solution to workaround that by using `idevicesyslog` alongside `ios-deploy` as a backup in getting the log for the Dart VM url. As explained in https://github.com/flutter/flutter/issues/120808#issuecomment-1551826299, when error case 2 happens, the `idevicesyslog` does successfully find the Dart VM. Also, in the comments of the code it mentions `syslog` is not written on iOS 13+, this was added in response to this issue: https://github.com/flutter/flutter/issues/41133. However, `idevicesyslog` does in fact work (at least for iOS 16), we use it to collect device logs for our CI tests already: https://github.com/flutter/flutter/blob/1dc26f80f04c1c1091a83c5fead9b3aa83483292/dev/devicelab/lib/framework/devices.dart#L998-L1006
-
- 31 May, 2023 1 commit
-
-
Jackson Gardner authored
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.
-
- 26 May, 2023 1 commit
-
-
Phil Quitslund authored
The newly updated lint will soon flag for-each in collections. See discussion: https://github.com/dart-lang/linter/pull/4383 /cc @goderbauer
-
- 23 May, 2023 1 commit
-
-
chunhtai authored
I think the flake is due to setclipboard or semantics update race condition. I migrated the test to use integration test package which relies less on timing fixes https://github.com/flutter/flutter/issues/124636
-
- 15 May, 2023 2 commits
-
-
Jonah Williams authored
Add a benchmark that measures the improvements from https://github.com/flutter/engine/pull/41803
-
Tomasz Gucio authored
-
- 10 May, 2023 1 commit
-
-
keyonghan authored
Part of https://github.com/flutter/flutter/issues/103542
-
- 03 May, 2023 2 commits
-
-
Jenn Magder authored
Fixes https://github.com/flutter/flutter/issues/126020.
-
Zachary Anderson authored
Not sure why this wasn't already being reported.
-
- 28 Apr, 2023 1 commit
-
-
Zachary Anderson authored
Fixes https://github.com/flutter/flutter/issues/125648
-
- 24 Apr, 2023 1 commit
-
-
Taha Tesser authored
This adds a performance test for `Slider` and `RangeSlider` to run on Android. This is to measure upcoming changes to these widgets and compare their performance. https://user-images.githubusercontent.com/48603081/233633349-0bcad3c3-04a9-42dd-acd0-46b76ce51178.mp4
-
- 07 Apr, 2023 2 commits
-
-
Jenn Magder authored
Force plugin transitive dependencies to an ARC compatible version
-
Victoria Ashworth authored
Make logs verbose for gallery tests
-
- 31 Mar, 2023 2 commits
-
-
Harry Terkelsen authored
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
-
Jonah Williams authored
[devicelab] add regular old blur benchmark
-