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
.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.
- 1. ¿La configuración de la plataforma al compilar una aplicación C# marca la diferencia?
- 2. ¿Hay un CLR que se ejecuta en el CLR?
- 3. Descompresión de JPEG inconsistente en las arquitecturas de Windows
- 4. Xcode Debugger: cómo hacer un solo paso al nivel de las instrucciones de la CPU
- 5. ¿Cómo implementan las CPU Instrucciones como MUL/MULT?
- 6. Más detalles acerca de las nuevas instrucciones AVR ALC, LAS, LAT y XCH
- 7. Compilar y optimizar para diferentes arquitecturas de destino
- 8. .NET links, biblioteca específica de la plataforma
- 9. ¿Qué instrucciones de CPU usan la mayor potencia?
- 10. por qué los ensamblados .net difieren para diferentes arquitecturas?
- 11. .Net y arquitecturas de complementos
- 12. Uso de las instrucciones de SSE
- 13. Optimizaciones de destino de la plataforma .Net
- 14. ¿hay un perfilador CLR para .NET 4.0?
- 15. Ventajas del conocimiento de CIL en .NET
- 16. ¿Hay un análogo .net para las bibliotecas de Boost?
- 17. Tener las aplicaciones .NET "recordar" las preferencias, etc.?
- 18. Force x86 CLR en un ensamblado .NET 'Any CPU'
- 19. Plataforma gemas específicas para autotest con bundler
- 20. Donde las instrucciones SSE superan las instrucciones normales
- 21. ¿Cómo distribuir y ejecutar pruebas unitarias específicas de la plataforma?
- 22. En las publicaciones de trabajo, ¿Qué es la programación .NET?
- 23. ¿Qué herramientas CLR/.NET bytecode existen?
- 24. Cómo especificar la versión .NET al usar la opción/CLR
- 25. puede gcc cross compilar para diferentes CPU?
- 26. ¿Hay un Django o Rails para la plataforma .Net?
- 27. ¿Sigue siendo una buena idea para las arquitecturas modernas?
- 28. ¿Por qué no es verificable la instrucción jmp del CLR?
- 29. ¿Hay alguna biblioteca útil para las aplicaciones de .NET Console?
- 30. Encontrar instrucciones estáticas de importación para las construcciones de Mockito
Gracias. Usted dijo "parece". ¿Hay alguna manera de saberlo con seguridad? – richard
@Richard: Encontré algunos blogs sobre el tema. –
¡Dulce blog, gracias! – richard