Detail práce

Optimalizace LINQ pro .NET

Bakalářská práce Student: Šerý Daniel Akademický rok: 2019/2020 Vedoucí: Pluskal Jan, Ing., Ph.D.
Název anglicky
.NET's LINQ Optimization
Jazyk práce
český
Abstrakt

Tato práce se zabývá LINQ (Language integrated query) a řeší možnosti jeho implementace a optimalizace v jazyce C#. Je vybrána a implementována metoda přepisu dotazů na procedurální kód před překladem programu. Cílem práce je poskytnout LINQ využitelný, i při potřebě velké rychlosti.        Pro vytvořený program přepisující dotazy LINQ, bylo pro většinu operátorů dosaženo zrychlení od 1.2x do 20x rychlosti System.Linq v závislosti na prováděném algoritmu, zdroji dat a množství poskytnutých informací přepisovacímu programu.

Klíčová slova

LINQ, C#, .NET, přepis kódu, analýza kódu, optimalizace, BenchmarkDotNet, algoritmy, datové struktury, dynamické dotazy, paralelní programování, SIMD, vkládání metod

Ústav
Studijní program
Informační technologie
Soubory
Stav
obhájeno, hodnocení C
Obhajoba
10. července 2020
Oponent
Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.

Otázky u obhajoby
  1. Hlavní motivací práce je teze, že LINQ je výrazně pomalejší a paměťově náročnější než ekvivalentní blok odpovídajícího cyklu. Můžete toto tvrzení podložit naměřenými hodnotami pro reprezentativní příklady?
  2. Na str.28 uvádíte, že stejný LINQ nad shodnými daty může dávat v různých .NET implementacích jiné výsledky. Můžete prosím demonstrovat?
  3. Na obrázku 6.1 jsou uvedeny výsledné hodnoty pro různý počet prvků v seznamu. Co představuje osa X a konkrétně zde uvedená hodnota -1?
Komise
Ryšavý Ondřej, doc. Ing., Ph.D. (UIFS FIT VUT), předseda
Grézl František, Ing., Ph.D. (UPGM FIT VUT), člen
Hradiš Michal, Ing., Ph.D. (UPGM FIT VUT), člen
Smrčka Aleš, Ing., Ph.D. (UITS FIT VUT), člen
Vašíček Zdeněk, doc. Ing., Ph.D. (UPSY FIT VUT), člen
Citace
ŠERÝ, Daniel. Optimalizace LINQ pro .NET. Brno, 2020. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. 2020-07-10. Vedoucí práce Pluskal Jan. Dostupné z: https://www.fit.vut.cz/study/thesis/23085/
BibTeX
@bachelorsthesis{FITBT23085,
    author = "Daniel \v{S}er\'{y}",
    type = "Bakal\'{a}\v{r}sk\'{a} pr\'{a}ce",
    title = "Optimalizace LINQ pro .NET",
    school = "Vysok\'{e} u\v{c}en\'{i} technick\'{e} v Brn\v{e}, Fakulta informa\v{c}n\'{i}ch technologi\'{i}",
    year = 2020,
    location = "Brno, CZ",
    language = "czech",
    url = "https://www.fit.vut.cz/study/thesis/23085/"
}
Nahoru