Del blog de Eric Lippert The truth about value types está claro que el número de registros puede tener un gran impacto en el rendimiento del código. ¿Cuáles son los criterios de código que más se benefician de la mayor cantidad de registros en los sistemas x64? ¿Hay algún buen ejemplo?¿Qué escenarios maximizan el impacto en el rendimiento del mayor número de registros en un sistema x64 para el código C#?
Tengo claro que el recuento de registros no es el único y ni siquiera el aspecto más importante de una plataforma x64, pero si existen tales criterios, la plataforma en la que planeamos ejecutar nuestro código tendrá un impacto sobre cómo escribimos nuestro código?
Para mí, siempre debe considerar el aspecto del rendimiento. No estoy seguro de que podamos maximizar el rendimiento fácilmente con el registro porque usamos la máquina virtual .net. Creo que depende de la implementación de la máquina virtual. – ykatchou
Es una buena pregunta, creo que si compilamos para AnyCPU, el código IL se compilará en el momento de la ejecución de una manera que dependería de la plataforma de ejecución. –
Incluso los procesadores modernos solo tienen alrededor de 16 registros por núcleo, lo cual es una cifra realmente baja cuando se compara con el número de variables asignadas por las aplicaciones hoy en día. Por lo tanto, creo que no podrá "optimizar" su código C# para aprovechar algunos registros más disponibles en los sistemas x64. Además, aunque debe tener en cuenta el rendimiento durante la codificación, debería preocuparse más por la calidad del código (legibilidad, mantenibilidad, etc.) porque puede reducir mucho los costos de desarrollo y solo apuntar al rendimiento en las áreas críticas de su aplicación. . –