Original title:
Optimalizace LINQ pro .NET
Translated title:
.NET's LINQ Optimization
Authors:
Šerý, Daniel ; Ryšavý, Ondřej (referee) ; Pluskal, Jan (advisor) Document type: Bachelor's theses
Year:
2020
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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.
Keywords:
.NET; algorithms; BenchmarkDotNet; C#; code analysis; code rewriting; data structures; dynamic queries; LINQ; method inlining; optimization; parallel programming; SIMD; .NET; algoritmy; analýza kódu; BenchmarkDotNet; C#; datové struktury; dynamické dotazy; LINQ; optimalizace; paralelní programování; přepis kódu; SIMD; vkládání metod
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/191523