- Bilişim Teknolojileri Dergisi
- Vol: 15 Issue: 4
- Performance Analysis of Object-Relational Mapping (ORM) Tools in .Net 6 Environment
Performance Analysis of Object-Relational Mapping (ORM) Tools in .Net 6 Environment
Authors : Abdullah Eren Güvercin, Bilgin Avenoglu
Pages : 453-465
Doi:10.17671/gazibtd.1059516
View : 12 | Download : 7
Publication Date : 2022-10-31
Article Type : Research
Abstract :Nesneye yönelik programlamada, Nesne-İlişkisel Eşleme (Object-Relational Mapping – ORM) araçları sıklıkla kullanılmaktadır. Yazılım geliştiricilerin ORM seçimi yaparken en önemli seçim kriterlerinden birisi bu araçların sağladığı performanstır. ORM araçları üzerine yapılan performans araştırmalarının çoğu işlem süresi ve Rastgele Erişimli Bellek (Random-Access Memory – RAM) kullanım bilgileriyle sınırlı kalmış, Merkezi İşlem Birimi (Central Processing Unit – CPU) kullanım bilgilerine yer verilmemiştir. Ayrıca literatürde, platform bağımsız ve açık kaynak olarak üretilen yeni nesil .NET platformu olan .NET 6 ortamında yapılmış bir ORM performans çalışmasına rastlanılmamıştır. Bu çalışmada, belirtilen eksikliği gidermek ve yazılım geliştiricilere yol göstermek için .NET 6 ortamında belirli ORM araçlarının performans analizi gerçekleştirilmiştir. Çalışmada, işlem süresi ve RAM kullanım bilgilerinin yanında CPU kullanım bilgileri de yer almaktadır. Bu çalışmada başlıca ORM araçlarından Dapper, NHibernate ve Entity Framework Core (EF Core) ile kayıt okuma, ekleme, güncelleme, silme, arama ve sıralama işlemleri gerçekleştirilerek, işlem süresi, RAM ve CPU kullanımının ölçülebileceği bir yazılım geliştirilmiştir. Yapılan ölçümler sonucunda işlem süresi açısından; okuma, silme, arama ve sıralama işlemleri için Dapper; ekleme ve güncelleme işlemleri için EF Core en iyi sonuçları vermiştir. Kaynak kullanımı açısından Dapper’ın en iyi performansa sahip olduğu, EF Core ile NHibernate araçlarının sıralamalarının ise kayıt sayısı ve işlem türüne göre kendi aralarında değiştiği sonucuna varılmıştır.Keywords : ORM, .net 6, dapper, nhibernate, entity framework core