Prestazioni di Linq To Sql vs Entity Framework

entity-framework linq-to-sql performance stored-procedures

Domanda

Ho cercato i benchmark delle prestazioni recenti che confrontano L2S ed EF e non sono riuscito a trovare alcuno che testasse le procedure memorizzate utilizzando la versione rilasciata di EF. Così, ho eseguito alcuni dei miei test e ho trovato alcuni risultati interessanti.

Questi risultati sembrano giusti? Dovrei provarlo in un modo diverso?

Un'istanza del contesto, una chiamata dello sproc: (collegamento morto)

Un'istanza del contesto, più chiamate dello stesso sproc: (collegamento morto)

Più istanze del contesto, più chiamate dello stesso sproc: (collegamento morto)

Risposta accettata

Penso che dovresti testarlo in un modo un po 'diverso, al fine di distinguere i costi di avvio rispetto ai costi di esecuzione . In particolare, Entity Framework ha notevoli costi di avvio derivanti dalla necessità di compilare le viste del database (sebbene sia possibile farlo in anticipo). Allo stesso modo, LINQ ha una nozione di query compilata , che sarebbe appropriata se si esegue una query più volte.

Per molte applicazioni, i costi di esecuzione delle query saranno più importanti dei costi di avvio. Per alcuni, potrebbe essere vero il contrario. Dal momento che le caratteristiche delle prestazioni di questi sono diversi, penso che sia importante distinguerli. In particolare, la media dei costi di avvio nel costo medio di una query eseguita ripetutamente è fuorviante.


Risposta popolare

Questo sembra essere una buona misura delle prestazioni tra LINQ su SQL e Entity Framework.

http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché