Desempenho de Aplicações Rust
Desempenho de Aplicações Rust
Resumo:
O livro «Desempenho de Aplicações Rust» é um guia prático para desenvolvedores que desejam extrair o máximo da linguagem Rust. Ao contrário de tutoriais superficiais, este livro foca em métodos reais de otimização: desde micro-otimizações no nível de instruções até decisões arquiteturais para sistemas de alta carga.
Para quem é este livro?
- Desenvolvedores migrando para Rust a partir de C++, Python ou Go e que desejam entender como usar seus pontos fortes.
- Engenheiros que trabalham com sistemas de tempo real, jogos, serviços de rede ou software embarcado.
- Todos que já enfrentaram problemas de desempenho em Rust e desejam aprender a diagnosticá-los e resolvê-los.
O que você aprenderá?
- Profiling e benchmarking: como usar perf, flamegraph, valgrind e ferramentas nativas do Rust (cargo bench, criterion).
- Gerenciamento de memória: otimização de alocações, trabalho com arenas, compreensão de cache misses e alinhamento de dados.
- Concorrência e assincronicidade: como evitar condições de corrida, escolher entre async/await e threads, configurar pools de tokens.
- Zero-cost abstractions: como iteradores, closures e genéricos afetam o desempenho, e quando vale a pena escrever código unsafe de baixo nível.
- Otimização do compilador: flags LTO, PGO, configuração do linker, uso de instruções específicas (AVX, SIMD).
- Trabalho com I/O: minimização de chamadas de sistema, buffering, uso de mmap e io_uring.
Estrutura do livro
O livro está dividido em três partes: «Fundamentos de Desempenho» (ferramentas, profiling, benchmarking), «Técnicas Avançadas» (assincronicidade, concorrência, SIMD, sistemas distribuídos) e «Prática» (análise de projetos reais: servidor web, banco de dados, motor de jogo). Cada capítulo contém exemplos de código, gráficos e listas de verificação para autoavaliação.
Este livro não é sobre «como escrever Hello World», mas sobre como tornar seu código rápido, confiável e escalável. Após sua leitura, você será capaz de encontrar gargalos em projetos Rust e eliminá-los por conta própria.
Recomendado para desenvolvedores de nível Junior+ e Middle, familiarizados com a sintaxe do Rust.
Recommendations
Swift (iOS/macOS) para iniciantes: curso completo
Desenvolvimento Web em JavaScript (Node.js): do básico ao deploy
Rust para data science: desempenho e segurança na prática
TypeScript Profissional: Técnicas Avançadas
Desenvolvimento Web em JavaScript (Node.js): do básico ao deploy
Go (Golang) para Data Science: Um Guia Prático