¿Cómo escribir código rápido (bajo nivel)? [cerrado

Me gustaría obtener más información sobre la optimización de código de bajo nivel y cómo aprovechar la arquitectura subyacente de la máquina. Estoy buscando buenos consejos sobre dónde leer sobre este tema.

Más detalles

Estoy interesado en la optimización en el contexto de la informática científica (que es una gran cantidad de números perono sol) en lenguajes de bajo nivel como C / C ++. En particular, estoy interesado en los métodos de optimización que no son obvios a menos que uno comprenda bien cómo funciona la máquina (lo cual todavía no sé).

Por ejemplo, está claro que un mejor algoritmo es más rápido, sin saber nada sobre la máquina en la que se ejecuta. No es del todo obvio que importa si uno recorre primero las columnas o las filas de una matriz. (Es mejor recorrer la matriz para que los elementos que se almacenan en ubicaciones adyacentes se lean sucesivamente).

Los consejos básicos sobre el tema o los consejos a los artículos son bienvenidos.

Respuestas

Tengo respuestas con muchos buenos consejos, mucho más de lo que tendré tiempo de leer. Aquí hay una lista de todos ellos:

El libro de cocina de optimización de software de Intel (libro)Lo que todo programador debe saber sobre la memoria (libro pdf)Escriba Great Code, Volumen 2: Pensamiento de bajo nivel, escritura de alto nivel (libro Recursos de optimización de software by Agner Fog (cinco manuales detallados en pdf)

Necesitaré un poco de tiempo para decidir cuál usar (no tener tiempo para todos).

Respuestas a la pregunta(8)

Su respuesta a la pregunta