Acelere a compilação no Xcode rapidamente

À medida que o projeto cresce, a velocidade de compilação do projeto diminui. Isso se torna especialmente visível quando você testa o programa, enquanto faz pequenas alterações no programa em paralelo.

Primeiro, vamos descobrir quanto tempo o projeto é compilado para nossas melhorias. Para fazer isso, entre no terminal

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES 

Para fazer isso, vá para a seção Produto, mantenha pressionada a tecla alt e clique em Limpar pasta de compilação e, em seguida, remonte o projeto. Meu projeto é compilado por 81 segundos . Vamos ver qual será o resultado após a melhoria.



Primeiro de tudo, devemos descobrir quais locais atrasam a compilação. Por padrão, o Xcode não mostra um aviso onde está o problema, mas podemos corrigi-lo.
Os lugares mais difíceis são ótimos recursos e verificação de tipo. Portanto, precisamos inserir essas duas linhas na seção Configurações de compilação -> Outros sinalizadores rápidos -> Depurar

 -Xfrontend -warn-long-function-bodies=100 -Xfrontend -warn-long-expression-type-checking=100 

(aqui temos tempo de compilação de 100 ms, podemos colocar qualquer número)

Desenho gráfico


Um exemplo do meu rascunho de trabalho



Eu tenho uma seção que leva 13778 ms, provavelmente você não terá isso, mas devido às especificidades do projeto, eu tenho essas seções. Desde que é construída uma árvore binária para OCR.
Devido ao aninhamento profundo entre si e à definição de tipo apenas no início, antes do sinal de igual, o compilador precisa de muito tempo para entender qual tipo está à sua frente. (A árvore tem 30 linhas, aqui faz parte dela)

Para



Depois



Determinamos o tipo de cada aninhamento e o aviso foi embora.

Outro ponto fraco são vários curtos-circuitos seguidos.

Para



Depois

Tipo explicitamente especificado



Depois de corrigir todos os avisos, verificaremos o tempo de construção do projeto novamente.
Agora o projeto compila 26 segundos duas vezes e meia mais rápido.



Ainda há trabalho a ser feito, mas os problemas mais óbvios foram corrigidos.

Source: https://habr.com/ru/post/pt439290/


All Articles