
A mais recente versão da linguagem de programação Julia, a 1.12, foi oficialmente lançada, trazendo um conjunto de melhorias focadas em otimizar o desempenho e aumentar a produtividade dos programadores. As novidades prometem compilações mais rápidas, binários mais leves e um controlo mais refinado sobre o código.
Compilação mais inteligente e otimizada
Uma das grandes novidades é a introdução da funcionalidade experimental --trim. Quando usada durante a compilação, esta ferramenta remove o código estaticamente inacessível, resultando em tempos de compilação mais curtos e ficheiros executáveis de menor tamanho.
Além disso, a versão 1.12 passa a suportar compilações otimizadas com BOLT para componentes como libLLVM e libjulia-internal. Esta técnica de otimização pós-compilação da LLVM melhora a velocidade de execução do software. Outra alteração técnica, mas com impacto no desempenho, é a utilização direta de tipos de ponteiro na representação intermédia (IR) do LLVM, abandonando as codificações de inteiros usadas anteriormente.
Melhorias no multi-threading e maior flexibilidade
O trabalho com múltiplos threads foi aprimorado. Agora, um thread interativo é ativado por defeito e as configurações de threads respeitam a afinidade do CPU, permitindo uma gestão mais eficiente dos recursos do processador. O macro @atomic também foi melhorado, passando a suportar a sintaxe de atribuição de referência.
Para dar mais flexibilidade em tempo de execução, as ligações (bindings) passam a integrar o mecanismo de "world age", uma funcionalidade que antes estava limitada a métodos. Na prática, isto permite uma redefinição adequada de constantes e estruturas, facilitando o desenvolvimento dinâmico.
Novas ferramentas para depuração e testes
A pensar na experiência do programador, a Julia 1.12 introduz novas flags e macros de rastreamento que permitem examinar os eventos de compilação. Esta funcionalidade torna mais simples a tarefa de localizar os passos que mais pesam no processo de compilação.
Para quem trabalha com tarefas, foram adicionadas duas novas métricas de tempo por tarefa. Os fluxos de teste também foram melhorados: em caso de falha num @testset, a semente do gerador de números aleatórios é automaticamente impressa, o que facilita a reprodução de erros.
De acordo com o blog oficial da Julia Lang, a atualização inclui ainda várias outras melhorias no gestor de pacotes (Pkg) e outras áreas da linguagem, consolidando a Julia como uma poderosa ferramenta no mundo da programação.











Nenhum comentário
Seja o primeiro!