Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

mdebbar
Copy link
Contributor

@mdebbar mdebbar commented Oct 21, 2019

No description provided.

@mdebbar mdebbar self-assigned this Oct 21, 2019
@mdebbar mdebbar added the platform-web Code specifically for the web engine label Oct 21, 2019
int get gomaWorkers {
final String gomaWorkersArg = argResults['goma'];
if (gomaWorkersArg != null) {
return int.parse(gomaWorkersArg);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will throw if I pass -jk, use tryParse instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want it to throw if you pass a non-integer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or do you think it's better to print a warning, and continue building without goma workers?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No idea, people tend to file bugs when they see stack traces, regardless of the content. If this is only for the flutter web team I wouldn't worry about it

@@ -23,6 +23,14 @@ felt build --watch

If you don't want to add `felt` to your path, you can still invoke it using a relative path like `./web_ui/dev/felt <command>`

## Using goma
Goma is a great way to speed up your builds. In order to use goma, you first need to install it. Here are the instructions for [linux](https://g3doc.corp.google.com/devtools/goma/g3doc/how-to-use-goma/how-to-install-goma-linux.md) and [mac](https://g3doc.corp.google.com/devtools/goma/g3doc/how-to-use-goma/how-to-install-goma-mac.md).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not put internal links in our public docs. Instead, we could have a very short sentence sending googlers to goma, something like:

For googlers: accelerate your builds with goma

If you are a Google employee you can use an internal instance of goma to speed up your builds.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

..addOption(
'goma',
abbr: 'j',
help: 'Enable parallelization through goma',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure this is a goma option and not ninja in general? I thought even without goma this option would speed up your ninja builds by parallelizing across multiple CPU cores.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for pointing this out. You are right, this is a ninja parallelization option that it inherited from Make. I'll update the text and variable names accordingly.

Once goma is installed and ready, you can take advantage of it in your builds:
```
felt build [-w] -j 100
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for derailing this again, but now that we've figured out that -j is available to everyone, how about we make this useful for everyone? Strawman:

Speeding up your builds

You can speed up your builds by using more CPU cores. Pass -j to specify the desired level of parallelism, like so:

felt build [-w] -j 100

If you are a Google employee you can use an internal instance of Goma to parallelize your builds. Because Goma compiles code on remote servers, this option is effective even on low-powered laptops.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for writing this up 😃

@mdebbar mdebbar merged commit 6a3baef into flutter:master Oct 21, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 21, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Oct 22, 2019
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Oct 22, 2019
[email protected]:flutter/engine.git/compare/8882bf3c73f5...39e6901

git log 8882bf3..39e6901 --no-merges --oneline
2019-10-21 [email protected] Add recipe changelog (flutter/engine#13270)
2019-10-21 [email protected] fix NPE in accessibility bridge (flutter/engine#13255)
2019-10-21 [email protected] Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266)
2019-10-21 [email protected] Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252)
2019-10-21 [email protected] [web] Support input action (flutter/engine#13268)
2019-10-21 [email protected] [web] Support -j to use goma in felt build (flutter/engine#13259)
2019-10-21 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254)
2019-10-21 [email protected] Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239)
2019-10-21 [email protected] Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237)
2019-10-21 [email protected] Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261)
2019-10-21 [email protected] Add templates to generate fuchsia host bundles (flutter/engine#13158)
2019-10-21 [email protected] Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233)
2019-10-21 [email protected] Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240)
2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251)
2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250)
2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249)
2019-10-19 [email protected] Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248)
2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244)
2019-10-19 [email protected] Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243)
2019-10-19 [email protected] Ignore *.obj files when gathering licenses (flutter/engine#13241)
2019-10-18 [email protected] Roll buildroot to 994c6 (flutter/engine#13236)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Inconnu08 pushed a commit to Inconnu08/flutter that referenced this pull request Nov 26, 2019
[email protected]:flutter/engine.git/compare/8882bf3c73f5...39e6901

git log 8882bf3..39e6901 --no-merges --oneline
2019-10-21 [email protected] Add recipe changelog (flutter/engine#13270)
2019-10-21 [email protected] fix NPE in accessibility bridge (flutter/engine#13255)
2019-10-21 [email protected] Roll src/third_party/skia 9889d509ed9f..56f569d9bec2 (21 commits) (flutter/engine#13266)
2019-10-21 [email protected] Roll fuchsia/sdk/core/mac-amd64 from hc4p_... to hALu4... (flutter/engine#13252)
2019-10-21 [email protected] [web] Support input action (flutter/engine#13268)
2019-10-21 [email protected] [web] Support -j to use goma in felt build (flutter/engine#13259)
2019-10-21 [email protected] Roll fuchsia/sdk/core/linux-amd64 from 30Ua7... to _e7Up... (flutter/engine#13254)
2019-10-21 [email protected] Hold a reference to the Skia unref queue in UIDartState (flutter/engine#13239)
2019-10-21 [email protected] Do not attempt to drain the SkiaUnrefQueue in the destructor (flutter/engine#13237)
2019-10-21 [email protected] Updated license script to ignore testdata directories, which often contain object files and other compilation results (flutter/engine#13261)
2019-10-21 [email protected] Add templates to generate fuchsia host bundles (flutter/engine#13158)
2019-10-21 [email protected] Update ui.instantiateImageCodec docs to reflect what it does. (flutter/engine#13233)
2019-10-21 [email protected] Update CanvasKit to 0.7.0 and flesh out painting (flutter/engine#13240)
2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from CYDvx... to 30Ua7... (flutter/engine#13251)
2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from 0JpMS... to hc4p_... (flutter/engine#13250)
2019-10-19 [email protected] Roll fuchsia/sdk/core/linux-amd64 from bdTv5... to CYDvx... (flutter/engine#13249)
2019-10-19 [email protected] Roll src/third_party/skia c65eb34d2f37..9889d509ed9f (1 commits) (flutter/engine#13248)
2019-10-19 [email protected] Roll fuchsia/sdk/core/mac-amd64 from SevlL... to 0JpMS... (flutter/engine#13244)
2019-10-19 [email protected] Roll src/third_party/skia 7605c89c00f7..c65eb34d2f37 (3 commits) (flutter/engine#13243)
2019-10-19 [email protected] Ignore *.obj files when gathering licenses (flutter/engine#13241)
2019-10-18 [email protected] Roll buildroot to 994c6 (flutter/engine#13236)


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
@mdebbar mdebbar deleted the felt_goma branch April 15, 2021 17:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes platform-web Code specifically for the web engine
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants