Tempos de compilação do Rust: de 25 minutos para 2 minutos

2025-04-17
Tempos de compilação do Rust: de 25 minutos para 2 minutos

A equipe Feldera encontrou tempos de compilação excessivamente longos ao compilar código Rust gerado a partir de SQL de grande porte. Um programa SQL de 8.562 linhas traduzido para ~100 mil linhas de Rust levava 25 minutos para compilar. Técnicas como apagamento de tipo e desduplicação de código produziram melhorias mínimas. A solução veio da divisão do código Rust gerado em 1.106 crates menores, permitindo compilação paralela e reduzindo drasticamente o tempo de compilação para menos de 2 minutos, utilizando totalmente os processadores multinúcleo.

Leia mais
Desenvolvimento paralelismo multinúcleo

GitHub Actions CI/CD: Uma Odisseia Dolorosa

2025-03-20
GitHub Actions CI/CD: Uma Odisseia Dolorosa

O autor relata uma jornada frustrante na construção de um pipeline de CI/CD complexo usando o GitHub Actions, envolvendo múltiplas iterações e lutas com filas de mesclagem, comportamento inconsistente e preocupações de segurança. Os desafios incluíram a aplicação de verificações de status com filas de mesclagem, a compreensão do modelo de segurança em torno do GITHUB_TOKEN, problemas de permissão de arquivos e caminhos de contêineres Docker e as complexidades dos fluxos de trabalho YAML. Apesar de alcançar uma redução no tempo de mesclagem, o autor destaca as numerosas armadilhas ocultas e o comportamento inconsistente, defendendo uma melhor usabilidade e depuração no GitHub Actions.

Leia mais
Desenvolvimento

Revolucionando a Autorização Fina de Grão: O Motor de Computação Incremental da Feldera

2025-01-20
Revolucionando a Autorização Fina de Grão: O Motor de Computação Incremental da Feldera

A Feldera apresenta uma abordagem revolucionária para Autorização Fina de Grão (FGA). Sistemas FGA tradicionais avaliam solicitações de autorização em tempo real, levando à ineficiência. A Feldera pré-calcula todas as decisões de autorização e usa seu mecanismo de computação incremental (baseado em SQL) para atualizar os resultados, transformando as solicitações de autorização em simples pesquisas de chave-valor. Mesmo com grandes gráficos de objetos, a Feldera processa alterações em milissegundos, melhorando drasticamente o desempenho. O artigo detalha os princípios da FGA e demonstra a construção de um mecanismo FGA de alto desempenho usando SQL, mostrando sua superioridade no tratamento de grandes conjuntos de dados.

Leia mais