O Que É o Custo do Runner Windows? O Multiplicador de 2x Explicado
O custo do runner Windows é o preço por minuto de executar CI em Windows, que no GitHub Actions é cerca de duas vezes a taxa do Linux.
O Windows fica entre o Linux e o macOS na escala de custo de CI. Seu multiplicador de aproximadamente 2x é fácil de ignorar porque não é tão dramático quanto o do macOS, mas para times de .NET e nativos de Windows que rodam a maioria dos jobs em Windows, essa duplicação se aplica a quase toda a conta.
Quanto o Windows custa a mais
No GitHub Actions, um minuto de Windows consome cerca de dois minutos de Linux da sua franquia. Contra a taxa de ~$0.008/min do Linux 2-core, isso equivale a cerca de $0.016/min efetivos. É a mesma lógica de workflow ao dobro do preço por minuto.
Por que o multiplicador existe
O Windows exige licenciamento de OS e tende a usar imagens base mais pesadas e inicialização mais lenta que o Linux. Os provedores incorporam esses custos de licenciamento e recursos em um multiplicador em vez de uma linha separada, então isso aparece como uma taxa efetiva mais alta.
Impacto na camada gratuita
Como o Windows conta em dobro, seus 2,000 minutos gratuitos equivalem a apenas cerca de 1,000 minutos de tempo de Windows. Times que fazem build principalmente em Windows atingem o excedente cerca de duas vezes mais rápido que um time comparável de Linux.
Onde o custo do Windows se esconde
Cold starts lentos em imagens grandes de Windows, execuções longas de MSBuild e de testes, e legs de matrix que adicionam uma variante de Windows a cada mudança, todos acumulam à taxa de 2x. Matrizes multiplataforma são um lugar comum onde o custo do Windows silenciosamente dobra um job.
Mantendo-o sob controle
Rode no Windows apenas jobs genuinamente específicos de Windows, e mantenha o trabalho compartilhado (linting, empacotamento, builds não-Windows) no Linux. Use cache de dependências e do build para cortar os minutos que o multiplicador de 2x amplifica.
CI de Windows mais barato
Uma taxa base menor e menos desperdício ajudam mais onde o multiplicador se aplica. Recuperar uma re-execução instável de Windows economiza duas vezes o que uma re-execução de Linux economiza, então pools aquecidos e autocorreção - e uma linha de base ~70% mais barata - se acumulam nas cargas de trabalho de Windows.
Principais conclusões
- Runners Windows custam cerca de duas vezes um minuto de Linux no GitHub Actions.
- O licenciamento do OS e imagens mais pesadas geram o multiplicador de 2x.
- Os minutos gratuitos são consumidos cerca de duas vezes mais rápido no Windows.