commit | 8946db95848f94428ccdc4e5d7f26e2107d7cbcb | [log] [tgz] |
---|---|---|
author | Googler <chiwang@google.com> | Tue Apr 09 05:59:34 2024 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Apr 09 06:00:39 2024 -0700 |
tree | 0681d28cfc9acb6d6d2abd4c5198859e54fb4224 | |
parent | eb8f12eaab29c833242b4ded9efa996950e5b264 [diff] |
Temporarily create more platform threads when Bazel is blocking on filesystem IOs inside `UnixFileSystem` in virtual thread. By following how JDK makes their filesystem operations in `java.io` work with virtual thread, this CL uses JDK internal API, namely `jdk.internal.misc.Blocker`, to allow the underlying `ForkJoinPool`, which carries virtual threads, creates more platform threads within the block region. It slightly improves the async execution performance (`+2.2%` comparing to `+3.6%` in https://github.com/bazelbuild/bazel/commit/06f8235eb6009e5ec40adf0a6a47d7daa7d90b9a). The next suspicious slow down is include scanning and other filesystems which will be addressed by follow-up CLs. PiperOrigin-RevId: 623141792 Change-Id: I8f96cd2f80d4f5e03149ccd621a18436ab319302
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only 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:
To report a security issue, please email security@bazel.build with a description of the issue, the steps you took to create the issue, affected versions, and, if known, mitigations for the issue. Our vulnerability management team will respond within 3 working days of your email. If the issue is confirmed as a vulnerability, we will open a Security Advisory. This project follows a 90 day disclosure timeline.
See CONTRIBUTING.md