C++ High Performance. Computação de Alto Desempenho em C++
538 páginas
Portuguese
PDF
4.5

C++ High Performance. Computação de Alto Desempenho em C++

C++ High Performance. Computação de Alto Desempenho em C++

Autor:

Ano:

Resumo:

Introdução

O livro C++ High Performance (autores: Björn Andrist, Viktor Sehr, ano 2020, 538 páginas) não é mais um tutorial sobre sintaxe da linguagem, mas um mergulho profundo na arte de escrever código rápido e eficiente em C++. Em um mundo onde o desempenho é frequentemente um requisito crítico (jogos, servidores de alta carga, sistemas financeiros, dispositivos embarcados), a habilidade de não apenas escrever código funcional, mas torná-lo o mais rápido possível, torna-se uma competência essencial. Este livro oferece uma abordagem sistemática para otimização, desde a arquitetura da aplicação até truques de baixo nível com o processador.

Sobre o que é este livro?

O livro está dividido em três partes lógicas, que guiam o leitor sequencialmente dos princípios gerais às técnicas específicas.

Parte 1: Fundamentos de Desempenho

Os autores começam com conceitos fundamentais: o que é desempenho, como medi-lo, quais são os gargalos comuns. Aqui são abordados:

  • Profiling e benchmarking (ferramentas: perf, Valgrind, Google Benchmark).
  • Influência da arquitetura do processador (pipeline, cache, predição de desvios).
  • Otimização de memória (localidade de dados, alinhamento, pools).

Parte 2: Técnicas Avançadas de C++

A segunda parte é dedicada ao uso de recursos modernos do C++ para aumentar o desempenho:

  • Semântica de movimento e perfect forwarding.
  • Computação em tempo de compilação (constexpr, templates).
  • Polimorfismo sem funções virtuais (CRTP, std::variant, std::any).
  • Smart pointers e gerenciamento de recursos.

Parte 3: Multithreading e Paralelismo

A parte final é a mais extensa e prática. Ela abrange:

  • Modelos de memória C++ e operações atômicas.
  • Threads, mutexes, conditional_variable.
  • Algoritmos paralelos (std::execution::par).
  • Instruções SIMD (SSE, AVX) e seu uso através de intrinsics.
  • Programação assíncrona (std::future, std::async).

Para quem é este livro?

O livro é voltado para desenvolvedores C++ experientes, que já escrevem na linguagem com confiança, mas desejam elevar suas habilidades a um novo patamar. Será útil para:

  • Desenvolvedores de jogos e engines gráficos.
  • Engenheiros que trabalham com servidores de alta carga.
  • Especialistas em sistemas embarcados.
  • Todos que desejam entender como o C++ moderno funciona "por baixo dos panos".

O que o leitor aprenderá?

Após a leitura, você será capaz de:

  • Escolher corretamente as ferramentas de profiling e interpretar seus resultados.
  • Otimizar o uso de cache e memória.
  • Usar semântica de movimento e constexpr para acelerar o código.
  • Construir aplicações multithread eficientes sem data races e deadlocks.
  • Aplicar instruções SIMD para computação vetorial.
  • Projetar uma arquitetura que seja inerentemente voltada para o desempenho.

Pontos fortes do livro

A principal vantagem é o foco prático. Cada técnica é acompanhada de exemplos reais de código e benchmarks que mostram o ganho de desempenho. Os autores não apenas dizem "faça assim", mas explicam por que funciona, com base na arquitetura dos processadores modernos. O livro é escrito em linguagem viva, e conceitos complexos (como o modelo de memória C++ ou SIMD) são abordados de forma muito clara.

Vale destacar a qualidade dos exemplos: eles não são tirados do contexto, mas representam miniprojetos completos que podem ser aplicados imediatamente no seu trabalho.

A quem é recomendado?

Recomendo este livro sem dúvida a todos que escrevem em C++ e desejam que seu código funcione o mais rápido possível. Se você já conhece a sintaxe, mas sente que está batendo em um teto de desempenho — C++ High Performance será seu trampolim. Não é para iniciantes, mas para aqueles que estão prontos para se aprofundar no t

Recommendations