ORM tools are frequently used in projects developed by object-oriented programming paradigm. Software developers generally look at the performances of these tools when they select an ORM tool. Most of the performance studies on ORM tools are limited to processing time and RAM usage information, and CPU usage information is not included. Moreover, no ORM performance study has been found in the literature, conducted in .NET 6, which is an open-source and platform-independent new generation .NET platform. In this study, to close the mentioned gap in the literature and guide the software developers, we conduct research for analyzing performances of certain ORM tools in .NET 6. Our study includes CPU usage information as well as processing time and RAM usage information. We develop a software for measuring processing time, RAM and CPU usage while performing read, insert, update, delete, search and sort operations with Dapper, NHibernate and Entity Framework Core (EF Core) ORM tools. As a result, while Dapper is best in terms of processing time for read, delete, search and sort operations, EF Core has the best results for insert and update operations. We conclude that Dapper has the best performance in terms of resource usage, while the rankings of EF Core and NHibernate vary among themselves according to the number of records and operation type.
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.
Birincil Dil | İngilizce |
---|---|
Konular | Bilgisayar Yazılımı |
Bölüm | Makaleler |
Yazarlar | |
Yayımlanma Tarihi | 31 Ekim 2022 |
Gönderilme Tarihi | 18 Ocak 2022 |
Yayımlandığı Sayı | Yıl 2022 |