A arte de escrever programas eficientes
446 páginas
Portuguese
PDF
4.5

A arte de escrever programas eficientes

A arte de escrever programas eficientes

Autor:

Ano:

Resumo:

Introdução

O livro «The Art of Writing Efficient Programs» (em tradução russa — «A arte de escrever programas eficientes») de autoria de Fiódor Pikus não é apenas mais um livro didático sobre C++. É um mergulho profundo no mundo do desempenho, otimização e decisões arquiteturais que transformam código comum em uma ferramenta altamente eficiente. Publicado em 2021 pela editora Packt, o livro de 446 páginas tornou-se um guia de referência para muitos desenvolvedores que buscam extrair o máximo do hardware moderno.

Fiódor Pikus é um especialista reconhecido na área de computação de alto desempenho, tendo trabalhado no Google e em outras gigantes de tecnologia. Sua experiência e abordagem prática para resolver problemas de desempenho tornam este livro único. Ao contrário de muitos trabalhos teóricos abstratos, Pikus oferece metodologias concretas e testadas na prática, apoiadas por exemplos em C++.

Sobre o que é este livro?

O livro é dedicado à arte de criar programas que funcionam da forma mais rápida e eficiente possível, utilizando os recursos do processador, memória e subsistema de entrada/saída com o máximo rendimento. O autor analisa sequencialmente os principais aspectos de desempenho, desde os fundamentos até técnicas avançadas.

Principais tópicos abordados no livro:

  • Medição de desempenho: como fazer profiling de código corretamente, interpretar resultados e encontrar gargalos.
  • Otimização de memória: memória cache, alinhamento de dados, localidade de referência, trabalho com memória dinâmica.
  • Paralelismo e multithreading: uso eficiente de threads, sincronização, prevenção de condições de corrida e deadlocks.
  • Otimização de algoritmos: escolha de estruturas de dados corretas, complexidade algorítmica e seu impacto no desempenho real.
  • Vetorização e SIMD: uso de instruções do processador para processamento paralelo de dados.
  • Trabalho com o compilador: como ajudar o compilador a gerar código mais rápido, flags de otimização, inlining.
  • Projetar para desempenho: padrões arquiteturais que já incorporam alta velocidade de operação desde o início.

Para quem é este livro?

O livro é direcionado a desenvolvedores que já têm experiência em programação C++ (ou outra linguagem de sistema) e desejam passar para um novo nível — o nível de criação de aplicações verdadeiramente rápidas e eficientes. Será útil para:

  • Desenvolvedores de jogos e engines gráficos.
  • Engenheiros que trabalham com servidores de alta carga e bancos de dados.
  • Especialistas em sistemas embarcados e IoT.
  • Todos que escrevem código para cálculos financeiros, científicos ou de engenharia.
  • Estudantes de cursos superiores em áreas técnicas que estudam programação de sistemas.

O que o leitor aprenderá?

Após a leitura do livro, o leitor será capaz de:

  • Avaliar corretamente o desempenho do seu código usando profilers (perf, Valgrind, Google Benchmark).
  • Entender como funciona a memória cache do processador e escrever código que a utilize ao máximo.
  • Gerenciar memória de forma eficiente, evitando fragmentação e alocações desnecessárias.
  • Escrever código multithread seguro e rápido, usando primitivas de sincronização modernas.
  • Aplicar instruções SIMD para acelerar cálculos em 2 a 4 vezes sem perder a legibilidade do código.
  • Escolher estruturas de dados ideais (std::vector vs std::list, tabelas hash, árvores) para a tarefa específica.
  • Usar recursos do C++17/20 (por exemplo, std::optional, std::variant, constexpr) para melhorar o desempenho.
  • Projetar a arquitetura da aplicação que já é orientada para alta velocidade de operação desde o início.

Pontos fortes do livro

O livro de Fiódor Pikus se destaca em relação a outras publicações sobre otimização devido a várias características-chave:<

Recommendations