Rendimiento de aplicaciones C++: optimización, perfilado y aceleración de código
Rendimiento de aplicaciones C++: optimización, perfilado y aceleración de código
Resumen:
Las aplicaciones C++ modernas se enfrentan a demandas crecientes de velocidad y eficiencia. El libro «Rendimiento de aplicaciones C++» es una guía práctica que le ayudará a convertir el código que «simplemente funciona» en una solución de alto rendimiento. El autor, Alexey Petrov, comparte técnicas y estrategias probadas que utilizan los principales desarrolladores de motores de juegos, sistemas financieros y servidores de alta carga.
¿De qué trata este libro?
No es una colección de consejos abstractos. Recorrerá el ciclo completo de trabajo con el rendimiento: desde la detección de cuellos de botella mediante perfiladores (perf, Valgrind, Intel VTune) hasta la aplicación de optimizaciones de bajo nivel. Se presta especial atención a:
- Gestión de memoria: asignadores, fallos de caché, alineación de datos y pools de objetos.
- Concurrencia y paralelismo: minimización de bloqueos, estructuras lock-free, operaciones atómicas.
- Optimización de algoritmos y estructuras de datos: desde la elección del contenedor hasta el uso de instrucciones SIMD.
- Optimizaciones del compilador: cómo escribir código que sea amigable con el optimizador (RVO, constexpr, atributos).
- Perfilado y benchmarking: cómo no equivocarse en las mediciones e interpretar los resultados.
¿Para quién es este libro?
- Desarrolladores de C++ que deseen mejorar el rendimiento de sus proyectos.
- Ingenieros que trabajen en juegos, servidores de alta carga, sistemas embebidos o aplicaciones financieras.
- Estudiantes y profesionales que pasen del código «de aprendizaje» a soluciones de producción.
¿Qué aprenderá?
Después de leerlo, podrá:
- Encontrar y eliminar «cuellos de botella» en código C++.
- Escribir código que utilice eficientemente la caché del procesador y la memoria.
- Diseñar sistemas concurrentes sin condiciones de carrera ni interbloqueos.
- Aplicar las características modernas de C++17/20 para acelerar los cálculos.
- Medir el rendimiento correctamente y evitar errores comunes de benchmarking.
El libro contiene numerosos ejemplos, fragmentos de código listos para usar y listas de verificación para auditoría de código. Es una guía de escritorio a la que volverá en cada refactorización u optimización.
Tenga en cuenta: el libro presupone un conocimiento sólido de la sintaxis de C++ y los conceptos básicos de POO. Si recién está comenzando a aprender el lenguaje, le recomendamos dominar primero los fundamentos.
Recommendations
Rust y Kubernetes: Desarrollo confiable de aplicaciones en la nube
Rendimiento de aplicaciones Kotlin
Seguridad de aplicaciones Kotlin: desde lo básico hasta técnicas avanzadas
Rust asíncrono: guía completa
Desarrollo de API en C# (.NET): Creación de servicios web modernos
C++ Efectivo: 55 formas seguras de mejorar sus programas