tree: 9e8dea6f9ffe7f1dba25605364f10f582290466d [path history] [tgz]
  1. auth/
  2. build/
  3. docs/
  4. execute/
  5. hashfs/
  6. o11y/
  7. reapi/
  8. scandeps/
  9. scripts/
  10. subcmd/
  11. sync/
  12. toolsupport/
  13. ui/
  14. webui/
  15. .gitignore
  16. main.go
  17. README.md
go/src/infra/build/siso/README.md

Siso

Siso is a build tool that aims to significantly speed up Chromium's build.

  • It is a drop-in replacement for Ninja, which means it can be easily used instead of Ninja without requiring a migration or change in developer's workflows.
  • It runs build actions on RBE natively, and falls back to local.
  • It avoids stat, disk and network I/O as much as possible.
  • It reduces CPU usage and memory consumption by sharing in one process memory space.
  • It collects performance metrics for each action during a build and allows to analyze them using cloud trace/cloud profiler.

FAQ

Please check go/siso-faq.

Status

Siso is the primary build system for builder builds, and is being rolled out to Chrome developers. Chromium and Chrome are only supported projects. The projects that import //build/config from Chromium might be able to use Siso. However, they are not tested or supported, yet.

As of July 2024, Siso is used in all Chromium and Chrome builders, including official builds released to users.

As of end of 2024 Q1, Siso is used in all CQ builders in Chromium.

As of April 2023, we are dogfooding Siso with invited Chrome developers. Please check go/chrome-build-dogfood for more information.

Development

Please check go/siso-development.

References