7

Estoy haciendo una pasantía, y me han pedido que evalúe los cambios de rendimiento para el nuevo Entity Framework 5.0. Personalmente, nunca he utilizado Entity Framework, ni tengo ningún tipo de gran base de datos o consultas para hacer una prueba de referencia adecuada.Entity Framework 5.0 Benchmark Test

He estado haciendo algunas pruebas simples dirigidas a .NET 4.5 usando bucles de consultas LINQ para tratar de obtener la consulta compilada automáticamente y ver algún tipo de cambio de rendimiento de cuando me dirijo a .NET 4.0, pero No he podido ver ningún tipo de cambio de rendimiento en absoluto.

¿Existe algún tipo de prueba de referencia ya hecha para Entity Framework que pueda mostrar cuándo la nueva versión de Entity Framework tiene un mejor rendimiento?

Gracias

+2

¿Esto es lo que buscas? http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx – Kye

+0

Ese enlace solo muestra los resultados de alguna prueba inexplicada . Necesitaría poder realizar la prueba desde el código, para evaluar en qué escenarios hay un cambio de rendimiento real. – ShikiGami

+0

¿Puedes pegar lo viejo que estás usando en la pregunta? – Kye

Respuesta

5

par de cosas:

  • Si desea comparar los cambios de rendimiento entre 4 y .NET .NET 4.5 debe tener dos máquinas para que debido a .NET 4.5 es una actualización en contexto. La instalación de .NET 4.5 en la máquina "eliminará" la posibilidad de ejecutar en .NET 4.0 antiguo (gracias a Microsoft por esta pesadilla). Puede orientar el proyecto a .NET 4 pero en el tiempo de ejecución siempre se ejecutará en .NET 4.5 si está instalado.
  • Búsqueda de mejoras en el rendimiento puede ser bastante difícil porque no hay una lista de los cambios reales en la generación de consultas, sino dos zonas que deberían interés que está :
    • consultas compiladas auto - función automática de EF5 con .NET 4.5. Esta característica debería mejorar la velocidad de ejecución posterior de las consultas: la primera ejecución será aún "lenta" o quizás incluso "más lenta" que en .NET 4
    • Optimizaciones en consultas tabla por jerarquía. En general, esto debería mejorar las consultas dirigidas solo al tipo único en la estructura de herencia o al proyectar solo campos de la entidad base. En .NET 4 esto siempre llevó a unir todas las tablas para entidades derivadas, incluso si no fueran necesarias. No intenté esta mejora todavía así que estaré encantado de leer sus hallazgos aquí.
+0

Gracias, todavía estaba pensando que cuando apunté el proyecto a .NET 4.0 realmente ejecuté .NET 4.0. Tan pronto como tenga algunos resultados concretos, los publicaré aquí. – ShikiGami

+0

La segmentación solo funciona para la experiencia VS (intellisense y compilación) pero debido a que los ensamblados .NET 4.5 tienen la ** misma versión ** que .NET 4.0, se usan en tiempo de ejecución. –

+0

No entiendo por qué Microsoft haría eso. Pero realmente gracias por la sugerencia, gasté casi todo el día tratando de entender por qué no había diferencia en las velocidades de ejecución posteriores con .NET 4.0 en consultas de LINQ to Entities si la compilación automática era uno de los principales cambios anunciados para Entity Framework 5 . – ShikiGami