Parece que este servicio está en espera
Optimizaré código en c y cpp para rendimiento y baja latencia
Pakistán
Ingeniero de sistemas de bajo nivel y rendimiento
Acerca de este Servicio
¿Tu código en C/C++ es correcto, pero le falta cumplir con sus objetivos de latencia, rendimiento o tiempo de ejecución?
Primero hago un perfil, identifico dónde realmente pasa el tiempo la CPU, luego optimizo el cuello de botella medido y verifico el resultado con benchmarks reproducibles antes/después.
Trabajo en:
- Memoria y caché de CPU: SoA vs AoS, alineación, asignación en arena, reducción de movimiento en heap
- SIMD/vectorización: AVX2, AVX-512, ARM NEON
- Multihilo, atomics, contención de locks y false sharing
- Inspección de desensamblado, vectorización del compilador y inline asm dirigido cuando es justificado
Herramientas: perf, FlameGraph, Callgrind, Google Benchmark, Compiler Explorer
Los entregables incluyen un parche/commit limpio en Git, evidencia de benchmarks y notas técnicas. El código modificado se verifica con ASan/UBSan donde sea compatible y se mantiene sin advertencias bajo flags estrictos del compilador. Tu código permanece privado y nunca se pega en herramientas públicas. Se acepta NDA.
Antes de ordenar, no dudes en enviar tu benchmark, salida de perf o sección relevante del código. Revisaré el contexto y confirmaré si la carga de trabajo es adecuada y qué alcance tiene sentido.
Tecnología de desarrollo:
C/C++
Mi porfolio
FAQ
Traducción automática
¿Cómo sabes que la mejora de velocidad es real y no ruido del benchmark?
Utilizo mediciones repetidas en condiciones controladas, con afinidad/aislamiento de CPU cuando la plataforma lo soporta. Reporto resultados reproducibles antes/después en lugar de una sola ejecución óptima, y las afirmaciones de rendimiento están vinculadas a la carga de trabajo y al comando de benchmark acordados.
¿Qué pasa si mi código no puede vectorizarse con AVX2, AVX-512 o NEON?
Entonces no forzaré SIMD. Si el ramificado, dependencias, alineación, disposición de datos o tamaño de carga hacen que la vectorización sea ineficaz, lo documentaré y me enfocaré en áreas de mayor valor como localidad de caché, sobrecarga de asignación, ramificación, sincronización o cambios algorítmicos.
¿Cómo verificas que la optimización no rompe la corrección?
Los cambios se validan con tus pruebas existentes, salidas de referencia, resultados deterministas o una verificación de corrección acordada. Cuando es compatible, el código modificado también se verifica con ASan y UBSan, y el código tocado se mantiene sin advertencias bajo flags estrictos del compilador.
¿Qué parte de mi código cubre el límite de LOC?
El límite de LOC se aplica a la región crítica de rendimiento bajo investigación, no a todo tu repositorio. Los códigos grandes aún pueden ajustarse a un paquete si el profiling aisla el cuello de botella a un subsistema o núcleo más pequeño. Envía la carga de trabajo antes de ordenar y confirmaré el alcance adecuado.
¿Y si el cuello de botella es I/O, espera o el algoritmo en lugar de la ejecución en CPU?
Identificaré eso en la auditoría en lugar de forzar una optimización a nivel de CPU que no moverá tu métrica. Recibirás la evidencia, el cuello de botella real y el siguiente paso de mayor valor.
¿Puedes trabajar con código propietario o bajo NDA?
Sí. Puedo trabajar con código propietario y requisitos razonables de NDA/seguridad. El código fuente se maneja en un entorno de desarrollo local aislado y no se pega en herramientas públicas. Por favor, elimina credenciales, claves API, certificados, datos de clientes y secretos no relacionados antes de compartir.

