7

Sto facendo uno stage e mi è stato chiesto di valutare le modifiche alle prestazioni per il nuovo Entity Framework 5.0. Personalmente non ho mai usato l'Entity Framework, né ho alcun tipo di grande database o query per fare un test di benchmark adeguato.Test benchmark 5.0 Entity Framework

Ho eseguito alcuni semplici test per il targeting su .NET 4.5 utilizzando loop per le query LINQ per provare a ottenere la query compilata automaticamente e vedere un qualche tipo di modifica delle prestazioni da quando eseguo il targeting su .NET 4.0, ma I Non sono stato in grado di vedere alcun tipo di cambiamento delle prestazioni.

Esiste qualche tipo di test di benchmark già eseguito per Entity Framework che potrebbe mostrare quando la nuova versione di Entity Framework ha prestazioni migliori?

Grazie

+2

È questo che stai cercando? http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx – Kye

+0

Questo link mostra solo i risultati di alcuni test inspiegabili . Avrei bisogno di essere in grado di eseguire il test dal codice, al fine di valutare su quali scenari ci sono cambiamenti effettivi delle prestazioni. – ShikiGami

+0

Puoi incollare il vecchio che stai utilizzando nella domanda? – Kye

risposta

5

alcune cose:

  • Se si desidera confrontare i cambiamenti di prestazioni tra .NET 4 e .NET 4.5 è necessario disporre di due macchine per questo, perché .NET 4.5 è aggiornamento sul posto. L'installazione di .NET 4.5 sulla macchina "rimuoverà" la possibilità di eseguire sul vecchio .NET 4.0 (grazie a Microsoft per questo incubo). È possibile indirizzare il progetto su .NET 4 ma in fase di esecuzione si eseguirà sempre su .NET 4.5 se è installato.
  • Trovare miglioramenti delle prestazioni possono essere molto difficile perché non esiste un elenco dei cambiamenti reali nella generazione di query, ma due aree che dovrebbero interesse sei:
    • query Auto compilati - funzione automatica in EF5 con .NET 4.5. Questa funzione dovrebbe migliorare la successiva velocità di esecuzione delle query: la prima esecuzione sarà ancora "lenta" o forse anche "più lenta" rispetto a .NET 4
    • Ottimizzazioni nelle query Tabella per gerarchia. Ciò dovrebbe in generale migliorare le query rivolte a un singolo tipo nella struttura di ereditarietà o proiettando solo i campi dall'entità di base. In .NET 4 questo ha sempre portato a unire tutte le tabelle per le entità derivate anche se non erano necessarie. Non ho ancora provato questo miglioramento quindi sarò felice di leggere i risultati qui.
+0

Grazie, stavo ancora pensando che quando ho preso di mira il progetto su .NET 4.0 in realtà ha funzionato su .NET 4.0. Non appena avrò dei risultati concreti, li posterò qui. – ShikiGami

+0

Il targeting funziona solo per l'esperienza VS (intellisense e build), ma poiché gli assembly .NET 4.5 hanno la ** stessa versione ** di .NET 4.0, vengono utilizzati in fase di esecuzione. –

+0

Non capisco perché Microsoft lo farebbe. Ma davvero grazie per il suggerimento, ho speso quasi tutto il giorno cercando di capire perché non c'era alcuna differenza alle successive velocità di esecuzione con .NET 4.0 su LINQ alle query di entità se la compilazione automatica era una delle principali modifiche annunciate per Entity Framework 5 . – ShikiGami

Problemi correlati