2011-02-16 3 views
6

Cuando .NET CLR compila CIL para las instrucciones específicas de plataforma, ¿qué ocurre si se está compilando en una nueva arquitectura de CPU (es decir, una que no está familiarizada)? ¿La MS se mantiene a la vanguardia y publica nuevas funcionalidades optimizadas de compilación de instrucciones en .NET al cooperar con los proveedores de arquitectura (Intel, AMD, etc.)?.NET CLR: al compilar CIL para las instrucciones específicas de la plataforma, ¿qué hay de las nuevas arquitecturas de CPU, etc.?

Respuesta

6

.Net parece enfocarse en familias de arquitectura (como x86, amd64 e ia64) en lugar de arquitecturas individuales. La adición de optimización para diferentes variantes y extensiones de las tres familias de arquitectura base es un detalle de implementación que puede o no mejorar el rendimiento, pero no es necesario para producir código en ejecución; estas optimizaciones se pueden filtrar en versiones puntuales, pero Microsoft no parece estar muy comprometido con la actualización de su JIT para obtener un punto porcentual extra de velocidad del último chip.

Editar: Parece que la respuesta es 'it depends'. El JIT realiza algunas optimizaciones específicas de la CPU, pero estas solo las agrega Microsoft cuando observan puntos débiles de rendimiento; La compilación anticipada con NGen nunca incluye la optimización específica de la CPU.

+0

Gracias. Usted dijo "parece". ¿Hay alguna manera de saberlo con seguridad? – richard

+0

@Richard: Encontré algunos blogs sobre el tema. –

+0

¡Dulce blog, gracias! – richard

Cuestiones relacionadas