commit | 087734009801242b83655efb863b2d5a761ae3dc | [log] [tgz] |
---|---|---|
author | jmmv <jmmv@google.com> | Thu Feb 21 13:10:47 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Feb 21 13:12:24 2019 -0800 |
tree | 4ad50672b8a71b0afda6318090725f09a6201ea4 | |
parent | d4e13eae03ca22cde97a4af97373d15ecd454620 [diff] |
Lower Bazel's QoS service class to Utility on macOS. Even though Bazel is an interactive tool, the operations it performs are not time-critical and should not starve system services (started by launchd, typically under the Utility class). To mitigate this problem, spawn the Bazel server under the Utility priority as well. In internal tests at Google, we have seen that this vastly improves build performance and overall system responsiveness when Bazel might compete with system services such as openvpn or FUSE daemons. Note that this is not a complete fix though. We are still letting the Bazel client run under the default class and the client still uses execv in a couple of places. First, in batch mode, and, second, in "bazel run". A possible fix for this would involve making the Bazel client respawn itself under the right priority at the very beginning but this has its own difficulties that should be looked into separately. Fixes https://github.com/bazelbuild/bazel/issues/7446 for the most part. RELNOTES: None. PiperOrigin-RevId: 235054167
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.