Optimalizace LINQ pro .NET

Loading...
Thumbnail Image
Date
ORCID
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
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.
This thesis deals with LINQ (Language integrated query) and investigates possibilities of its implementation and optimization in C# language. Method of rewriting of query to procedural code is chosen and implemented. The goal is to provide a LINQ that can be used in code with the need for high speed.          Regarding the program created for rewriting LINQ queries, the performance of most operators has been increased by 1.2x to 20x of System.Linq speed depending of rewritten algorithm, data source and provided information to rewriting program.
Description
Citation
ŠERÝ, D. Optimalizace LINQ pro .NET [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2020.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
doc. Ing. Ondřej Ryšavý, Ph.D. (předseda) doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda) Ing. František Grézl, Ph.D. (člen) Ing. Michal Hradiš, Ph.D. (člen) Ing. Aleš Smrčka, Ph.D. (člen)
Date of acceptance
2020-07-10
Defence
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: 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? 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? 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?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO