• Welcome to LusoRobótica - Robótica em Português.
 

How I learned to love build systems

Started by blabla, 07 de January de 2022, 10:43

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

blabla

Bom dia a todos,

Hoje gostaria de partilhar convosco este vídeo que é uma fascinante viagem pelo mundo dos build systems.

Video - How I learned to love build systems

https://www.youtube.com/watch?v=7_DExGdUw7w

Depois e ainda do mesmo autor, gostaria de partilhar a fascinante caminhada da detecção de um problema num build system, ultrapassando todas as dificuldades a caminho da solução do problema, esmiuçando o problema em todas as suas camadas até ao "átomo".

Why is my Rust build so slow?
https://fasterthanli.me/articles/why-is-my-rust-build-so-slow

Nota: São histórias e narrativas como esta que me fazem gostar tanto de Rust, pois uma pessoa chega até a elas por motivos técnicos, pela busca do conhecimento, sempre mais conhecimento para que consiga resolver melhor problemas. Mas acaba por ficar preso à história pela batalha épica de David contra Golias, em que david somos todos nós quando nos deparamos com um problema complexo para o qual não sabemos a solução e Golias é a luta que esse problemas nos inscreve no nosso futuro. Algo que noto, é que em Rust os programadores tendem a contar mais estas histórias do que em outras linguagens, e claro todos nós gostamos de ler uma boa  e emocionante história, bem contada.

Obrigado,

Cumprimentos,
João

blabla

Este artigo também  do mesmo autor também pode ser interessante pois vem no seguimento do mesmo tema...

Como fazer profiling ao linker? (lld e mold)

Profiling linkers
https://fasterthanli.me/articles/profiling-linkers

Este exemplo usa poucas dependências, mas para projetos grandes ou mesmo para projetos pequenos que tenham GUI's em Rust ou em C/C++ os tempos de gastos na fase de linking podem ser muito grandes (em relação ao tempo total do build) e por isso configurar o processo de linker para linkers mais eficientes como o lld ou o mold podem ser muito úteis para agilizar o processo de desenvolvimento.
Basicamente estes "novos" linkers usam algoritmos melhores que escalam melhor com o número de unidades de compilação.

Cumprimentos,
João