Arena y Pool Allocators: gestión de memoria de alto rendimiento
Implementación técnica de allocators personalizados (Arena y Pool) para optimizar el rendimiento y evitar la fragmentación en sistemas críticos.
Implementación técnica de allocators personalizados (Arena y Pool) para optimizar el rendimiento y evitar la fragmentación en sistemas críticos.
Implementación de listas enlazadas intrusivas mediante el uso de punteros a punteros y la macro container_of para un diseño eficiente y modular.
Cómo evitar errores de endianness, padding y alineación al transmitir estructuras de datos entre arquitecturas distintas.
Técnicas avanzadas de preprocesador para asegurar portabilidad mediante la detección de headers, builtins y capacidades del estándar C11.
Explicación técnica sobre el funcionamiento del stack frame, el ABI de x86-64, la recursión y los riesgos de usar la pila para asignaciones masivas.
Uso de __builtin_expect y la disposición de código para minimizar el coste de los branch mispredictions.
Explora la diferencia entre AoS y SoA, el impacto de las cache lines y el problema del false sharing en sistemas multihilo.
Análisis avanzado de inlining, la semántica de restrict y técnicas de optimización de bucles para maximizar el rendimiento en C.
Guía sobre el uso de gprof, perf y callgrind para identificar cuellos de botella en C, diferenciando entre instrumentación, muestreo y simulación.
Guía técnica sobre el uso de herramientas para examinar símbolos, secciones y ensamblador en archivos objeto y ejecutables ELF.