9 pontos por xguru 2022-05-26 | 1 comentários | Compartilhar no WhatsApp
  • A Uber usa zig cc (bazel-zig-cc) para compilar código C/C++
    → no momento, apenas no monorepo de Go. Há planos de expandir para outras linguagens que usam toolchains de C/C++
    → porque é possível escolher a versão do glibc e fazer cross-compilation para macOS
  • No entanto, não há planos de usar a própria linguagem Zig. Ou seja, aproveitam apenas o toolchain C do Zig
  • A Uber fez uma doação para a Zig Foundation (ZSF) e firmou um contrato de prioridade para correção de bugs (US$ 52.800)
  • Pontos fortes do zig cc
    • Um compilador C/C++ totalmente hermético de apenas 40 MB. Isso é só 1/10 do tamanho do Clang padrão
    • Permite fazer link com a versão do glibc fornecida nos argumentos de linha de comando
    • Host e target são desacoplados. Independentemente do host, a configuração para linux-aarch64 e darwin-x86_64 é a mesma
    • Fazer link com musl é como simplesmente escolher outra versão de libc: -target x86_64-linux-musl