Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
En Prestandaanalys Av Entity Framework
Jönköping University, School of Engineering, JTH, Department of Computer Science and Informatics.
2021 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent thesisAlternative title
A performance analysis of Entity Framework (English)
Abstract [sv]

Syfte – Syftet med arbetet är att påvisa eventuella prestandaskillnader i form av exekveringstid och orsaker till dessa vid användandet av aktuell programversion av Entity Framework och manuell SQL.

Metod – Studiens ansats är kvantitativ och experiment har utförts via en egenutvecklad .NET console application. Åtta olika tester har körts där varje test utförts med tre olika antal databasentiteter. Den icke-parametriska statistiska tekniken bootstrapping har legat till grund för analys av data.

Resultat – Testresultatet visar att Entity Framework var långsammare än manuell SQL i samtliga tester. Då hade även justeringar gjorts för att förbättra Entity Framework exekveringstid jämfört med standardförfarandet. Sammanfattningsvis hade Entity Framework, med undertag för vissa testscenarion, ungefär 50-150% långsammare exekveringstid än manuell SQL. Den procentuella skillnaden var överlag konstant när antal databasentiteter ökade, åter med vissa undantag. Studien kom även fram till att det går att förbättra Entity Frameworks prestanda genom att använda AsNoTracking, AutoDetectChangesEnabled = false och EFCore.BulkExtensions. I hur stor grad förbättringarna påverkade exekveringstiden varierade mycket stort. Vid sekventiell Select och Delete lyckades endast 1-4% förbättring uppnås till skillnad från sekventiell Insert och Update där förbättringen blev 167-1809%.

Implikationer – Resultatet i denna studie kan förhoppningsvis bidra till beslutsunderlag för utvecklare som överväger använda EF till ett nytt system, samt belysa eventuella refaktoreringspotential för de som förvaltar existerande system med EF där prestandan är otillräcklig.Begränsningar – Studiens tester är utformade att vara enkla och testa den mest grundläggande funktionalitet i en databas och motsvarar inte vissa komplexa scenarion som kan förekomma i en verklig applikation.Nyckelord – ORM, Entity Framework, EF Core, SQL, Databas, Prestanda

Nyckelord – ORM, Entity Framework, EF Core, SQL, Databas, Prestanda

Abstract [en]

Purpose – The purpose of the study is to demonstrate performance differences in the form of execution time and reasons for these when using the current software version of Entity Framework and manual SQL.

Method – The scientific method used is quantitative and experiments have been performed via a self-developed .NET console application. Eight different tests have been run where each test was performed with three different numbers of database entities. The non-parametric statistical technique bootstrapping has been the basis for data analysis.

Findings – The test results show that Entity Framework was slower than manual SQL across all tests, despite adjustments that had been made to improve the Entity Framework execution time compared to the standard approach. To summarize, Entity Framework had with the exception of some test scenarios, approximately 50-150% slower execution time than manual SQL. The percentage difference was generally constant as the number of database entities increased, again with some exceptions. The study also concluded that the performance of Entity Framework can be improved by using AsNoTracking, AutoDetectChangesEnabled = false and EFCore.BulkExtensions. The extent to which the improvements affected the execution time varied greatly. With sequential Select and Delete, only 1-4% improvement was achieved, unlike sequential Insert and Update where the improvement was 167-1809%.

Implications – The results of this study can hopefully contribute to the decision basis for developers who are considering using EF for a new system, as well as highlight any refactoring potential for those who manage existing systems with EF where performance is insufficient.

Limitations – The tests are designed to be simple and test the most basic database functionality and do not correspond to certain complex scenarios that may occur in a real application.

Keywords – ORM, Entity Framework, EF Core, SQL, Database, Performance

Place, publisher, year, edition, pages
2021. , p. 66
Keywords [sv]
ORM, Entity Framework, EF Core, SQL, Databas, Prestanda
National Category
Information Systems
Identifiers
URN: urn:nbn:se:hj:diva-52963ISRN: JU-JTH-DTA-1-20210125OAI: oai:DiVA.org:hj-52963DiVA, id: diva2:1562730
Subject / course
JTH, Computer Engineering
Supervisors
Examiners
Available from: 2021-06-09 Created: 2021-06-09 Last updated: 2021-06-09Bibliographically approved

Open Access in DiVA

No full text in DiVA

By organisation
JTH, Department of Computer Science and Informatics
Information Systems

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 125 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf