commit | 1cf2f7b5a06125ae7f06b7b709a9cb28aaa491a3 | [log] [tgz] |
---|---|---|
author | ulfjack <ulfjack@google.com> | Mon Jul 01 07:36:19 2019 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Jul 01 07:38:49 2019 -0700 |
tree | 01fb72b40ddd2e56eef503dbc271b21aa9b36d95 | |
parent | ade5327ad6efe3d70486f828ecac9f234d8c8020 [diff] |
Query performance: don't copy on every eval call Every query function calls into this method to eval any relevant sub-queries, and making a copy on every call is a very, very expensive proposition. However, graphless query does not use streaming, i.e., all functions make a single call to the callback, so this defensive mechanism is simply unnecessary. We only make this change for the new query environment, rather than more generally. For queries with a hot Bazel server (and all packages already loaded), this can improve performance by as much as 2x. Before (first run omitted): real 0m1.308s real 0m1.285s real 0m1.524s After (first run omitted): real 0m0.650s real 0m0.549s real 0m0.521s PiperOrigin-RevId: 255951627
{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.