Rendimiento de aplicaciones C++
Rendimiento de aplicaciones C++
Resumen:
El libro «Rendimiento de aplicaciones C++» es una guía práctica para desarrolladores que desean aprender a escribir código C++ rápido, eficiente y escalable. A diferencia de los libros de texto académicos, este libro se centra en problemas reales: cómo encontrar cuellos de botella, cómo acelerar el programa sin perder legibilidad y cómo preparar la aplicación para trabajar bajo alta carga.
¿De qué trata este libro?
- Perfilado y benchmarking: Aprenderá a medir correctamente el rendimiento con herramientas (perf, Valgrind, Google Benchmark), interpretar los resultados y encontrar «cuellos de botella».
- Gestión de memoria: Gestión eficiente de memoria, fallos de caché, asignadores, semántica de movimiento y evitar copias. Analizaremos cómo reducir la fragmentación y acelerar el acceso a datos.
- Algoritmos y estructuras de datos: Cómo elegir el contenedor correcto (std::vector vs std::list, flat_map, optimizaciones menores), cuándo usar tablas hash y cuándo árboles.
- Multihilo y concurrencia: Algoritmos paralelos, sincronización (mutex, atómicos, estructuras lock-free), pools de hilos y trabajo con std::async.
- Optimización del compilador: Banderas clave de compilación (O2, O3, LTO), comprensión de la salida del ensamblador, inline y vectorización.
- Ejemplos reales: Análisis de código de sistemas de alta carga: motores de juegos, servidores financieros, procesamiento de grandes datos.
¿Para quién es este libro?
- Desarrolladores C++ con al menos 1 año de experiencia que quieran pasar al nivel senior.
- Ingenieros que trabajan en sistemas sensibles a la latencia (plataformas de trading, bases de datos, juegos).
- Aquellos que se preparan para entrevistas en FAANG o empresas de productos donde se requiere un profundo conocimiento del rendimiento.
¿Qué aprenderá?
- Cómo acelerar el código de 2 a 10 veces sin cambiar la arquitectura.
- Por qué las optimizaciones «obvias» a menudo perjudican y cómo evitarlo.
- Cómo diseñar sistemas que sigan siendo rápidos al aumentar la carga.
- Prácticas modernas de C++17/20 (std::optional, std::variant, conceptos) para mejorar el rendimiento.
El libro está escrito en un lenguaje ameno, contiene muchos listados, gráficos y ejercicios prácticos. Después de leerlo, podrá no solo escribir código rápido, sino también defender sus decisiones de manera fundamentada ante sus colegas.
Recommendations
JavaScript (Node.js) y Docker: contenedorización de aplicaciones
Seguridad de aplicaciones JavaScript (Node.js)
Arquitectura de aplicaciones JavaScript (Node.js)
Algoritmos y estructuras de datos en TypeScript
Aprendizaje Automático y PHP: Guía Práctica para Desarrolladores Web
Rendimiento de aplicaciones Java