¿Cuánto tiempo lleva desarrollar habilidades de programación de comercio de baja latencia usando C ++?

He estado escribiendo C ++ durante 20 años, los primeros diez de los cuales fueron juegos de computadora. He estado escribiendo sistemas comerciales de baja latencia durante más de seis años. Sería fácil decir “debes haber estado haciéndolo todo este tiempo” antes de tener las habilidades para hacerlo bien en el comercio, pero no es cierto.

Lo que realmente se necesita es la pasión y la dedicación para comprender lo que está sucediendo en su programa, comenzando por el algoritmo y trabajando hasta llegar a cómo se gasta cada ciclo de CPU individual. Si ha estado programando durante mucho tiempo, probablemente haya aprendido algo de esto en el camino, pero también he trabajado con graduados universitarios recientes con sed de saber quién ha aprendido las habilidades en un año.

El hardware y las técnicas requeridas para aprovecharlos cambian todo el tiempo, por lo que es un caso de aprendizaje continuo.

Supongo que no hay una respuesta fácil para esto: sal y comienza a mirar lo que genera el compilador [1], comienza a comparar cosas [2], lee cómo funcionan los cachés y la memoria [3], mira los documentos de Agner Fog [4] ] y prepárate para seguir aprendiendo por el resto de tu carrera. ¡Y no olvide que el algoritmo más rápido es el que no tiene que ejecutar en absoluto!

Notas al pie

[1] Explorador del compilador

[2] google / benchmark

[3] https://people.freebsd.org/~lste…

[4] Recursos de optimización de software

Aprende primero a programar. La programación Teach Yourself Program en diez años ofrece una idea útil del tiempo que lleva.