Entity Framework Core, kayıtları eski Entity Framework 6.x’ten çok daha hızlı okur

Womanne

Member
Entity Framework Core nesne-ilişkisel eşleyicinin yeni uygulaması için, Microsoft’un ana nedenlerinden biri, platform bağımsızlığı için mücadele etmenin yanı sıra, önceki ADO.NET Entity Framework’e göre performansı artırmaktı. Performans ölçümlerim şunu gösteriyor: Performans artışı başarılıydı (en azından sadece veri setlerini okurken).


Aşağıdaki şekil, izlemesiz modda mevcut .NET “Full” Framework 4.6.2 üzerindeki Entity Framework Core 1.1’in manuel eşlemeli bir DataReader kadar hızlı olduğunu göstermektedir (yani, .NET nesnesine kopyalama: obj.x = Dönüştür(dr[“x”]) ). .NET Core 1.1 üzerinde çalışırken, Entity Framework Core 1.1, kopyalama özellikli DataReader’dan bir dokunuş bile daha hızlıdır!

Entity Framework Core, algılama modunda da öncülü olan ADO.NET Entity Framework 6.1.3’ten daha hızlıdır. Burada yüzde 66’lık tasarruf, izlemesiz moddan (%40) bile daha fazladır.

En hızlı ölçüm (26 ms) bir veri okuyucusundan alınmıştır, ancak veri kümeleri nesnelerle eşlenmemiştir.




Entity Framework ve Entity Framework Core'un DataReaders ve DataSets ile performans karşılaştırması



Entity Framework ve Entity Framework Core’un DataReaders ve DataSets ile performans karşılaştırması



Yukarıdaki ölçüm senaryosuna ilişkin notlar:

  • Veritabanı sunucusu, Windows Server 2016 üzerinde bir Microsoft SQL Server 2016’dır (sanallaştırılmış).
  • İstemci bir Windows 10 makinesidir.
  • İki bilgisayar bir Gigabit Ethernet ağı üzerinden bağlanır.
  • Yürütülen komut, birleştirme veya toplama operatörleri olmayan basit bir SELECT’tir.
  • 10.000 kayıt yüklendi.
  • Bir kayıt, bir tablonun 13 sütununu içerir.
  • veri türleri dahiliküçük harf, nvarchar(30), nvarchar(maksimum), ısırmak, zaman damgası.
  • Belirtilen değer 50 tekrarın ortalamasıdır.
  • Her teknik için ilk erişim (soğuk başlatma) sayılmadı.

()



Haberin Sonu
 
Üst