Otimização do Lexer do Purple Garden: Um aumento de velocidade de 0 para 580 MB/s

2025-07-14

Esta postagem de blog detalha a jornada do autor na otimização do lexer da linguagem Purple Garden, alcançando uma velocidade impressionante de 580 MB/s. As técnicas empregadas incluem gotos computados, strings de zero cópia e zero alocação, uma interface de alocador, interning de tokens e hashes de palavras-chave pré-computados, melhorando significativamente o desempenho do lexer. Outras otimizações envolveram melhorias arquitetônicas e o uso de mmap para leitura de arquivos mais rápida. Essas otimizações resultaram em um aumento dramático na velocidade, transformando o tempo de processamento de dezenas de milissegundos para meros milissegundos — um verdadeiro salto na velocidade.

Leia mais
Desenvolvimento

Um analisador JSON robusto e eficiente em C puro

2025-03-01

Este artigo detalha um analisador JSON implementado inteiramente em C. Empregando uma abordagem orientada a objetos com funções anexadas a structs, ele possui melhor legibilidade e manutenibilidade. Priorizando a segurança, ele evita vazamentos de memória e erros de segmentação comuns. Uma API limpa e ergonômica é fornecida, juntamente com instruções de compilação, exemplos de uso e melhores práticas para desenvolvimento em C, incluindo flags de compilador para código robusto. O autor demonstra o uso de macros variádicas para geração de JSON embutida e técnicas eficientes de gerenciamento de memória.

Leia mais
Desenvolvimento Análise JSON

Realçando Bash em Lua com Neovim e Treesitter

2025-01-28

O autor criou uma ferramenta para sincronizar pacotes em várias máquinas, usando um arquivo de configuração Lua. Para melhorar a legibilidade e edição de scripts Bash embutidos na configuração Lua, ele usou o Neovim e o plugin Treesitter. O Treesitter, através de seu recurso de injeção, identifica o campo `script` em tabelas Lua e destaca seu conteúdo como Bash com base em uma consulta personalizada. Isso melhora significativamente a legibilidade e a manutenção do código. A postagem detalha a configuração do Neovim e do Treesitter, juntamente com a consulta personalizada para alcançar a realce do Bash.

Leia mais
Desenvolvimento

Integração do Lua em Rust para Análise Estática de SQL Configurável no sqleibniz

2024-12-19

O sqleibniz, uma ferramenta de análise estática de SQL para o dialeto SQLite, foi aprimorado com scripts Lua para maior configurabilidade e extensibilidade. O autor detalha a integração usando a biblioteca mlua em Rust, cobrindo conversão de estruturas de dados, chamadas de funções Lua e tratamento de erros. Scripts Lua permitem que os usuários definam regras e hooks personalizados, possibilitando análise estática flexível, como diagnósticos personalizados e verificações de estilo. Isso melhora significativamente a extensibilidade e a experiência do usuário do sqleibniz.

Leia mais
Desenvolvimento Análise Estática