Desempenho de Aplicações C++
300 páginas
Portuguese
PDF
4.5

Desempenho de Aplicações C++

Desempenho de Aplicações C++

Autor:

Ano:

Resumo:

O livro "Desempenho de Aplicações C++" é um guia prático para desenvolvedores que desejam aprender a escrever código C++ rápido, eficiente e escalável. Ao contrário dos livros acadêmicos, este livro foca em problemas reais: como encontrar gargalos, como acelerar a execução do programa sem perder legibilidade e como preparar a aplicação para operar sob alta carga.



Sobre o que é este livro?

  • Profiling e Benchmarking: Você aprenderá a medir corretamente o desempenho usando ferramentas (perf, Valgrind, Google Benchmark), interpretar resultados e encontrar "gargalos".
  • Gerenciamento de Memória: Gerenciamento eficiente de memória, cache misses, alocadores, move semantics e evitar cópias. Analisaremos como reduzir a fragmentação e acelerar o acesso aos dados.
  • Algoritmos e Estruturas de Dados: Como escolher o contêiner correto (std::vector vs std::list, flat_map, pequenas otimizações), quando usar tabelas hash e quando usar árvores.
  • Multithreading e Concorrência: Algoritmos paralelos, sincronização (mutexes, atômicos, estruturas lock-free), pools de threads e trabalho com std::async.
  • Otimização do Compilador: Flags de compilação essenciais (O2, O3, LTO), compreensão da saída do assembly, inlining e vetorização.
  • Exemplos Reais: Análise de código de sistemas de alta carga: motores de jogos, servidores financeiros, processamento de grandes dados.


Para quem é este livro?

  • Desenvolvedores C++ com experiência de 1 ano ou mais que desejam avançar para o nível sênior.
  • Engenheiros que trabalham com sistemas sensíveis à latência (plataformas de negociação, bancos de dados, jogos).
  • Aqueles que se preparam para entrevistas em FAANG ou empresas de produto que exigem profundo conhecimento de desempenho.


O que você aprenderá?

  • Como acelerar o código em 2 a 10 vezes sem alterar a arquitetura.
  • Por que otimizações "óbvias" muitas vezes prejudicam e como evitar isso.
  • Como projetar sistemas que permanecem rápidos sob aumento de carga.
  • Práticas modernas do C++17/20 (std::optional, std::variant, conceitos) para melhorar o desempenho.


O livro é escrito em linguagem clara, contém muitos trechos de código, gráficos e exercícios práticos. Após a leitura, você será capaz não apenas de escrever código rápido, mas também de defender suas decisões de forma fundamentada perante seus colegas.

Recommendations