|
Hybrid databases
Hušek, Radek ; Mareš, Martin (advisor) ; Lokoč, Jakub (referee)
This thesis presents design and implementation of a data structure, which tries to combine advantages of both databases and regular data structures. Main advantages of databases we try to retain are data persistence through storing data on a hard disk and working with data using transactions which allows us parallel access without danger of inconsistency. From data structures we borrow the implementation as a library of functions and the aim on simplicity and storing data in memory. Our implementation is built around the concept of (software) transactional memory; all data are stored on hard drive as log of operations. 1
|
|
Scalable link-time optimization
Láska, Ladislav ; Hubička, Jan (advisor) ; Mareš, Martin (referee)
Both major open-source compilers, GCC and LLVM, have a mature link-time optimization framework usable on most current programs. They are however not free from many performance issues, which prevent them to perform certain analyses and optimizations. We analyze bottlenecks and identify multiple places for improvement, focusing on improving interprocedural points-to analysis. For this purpose, we design a new data structure derived from Bloom filters and use it to significantly improve performance and memory consumption of link-time optimization. Powered by TCPDF (www.tcpdf.org)
|
|
Data structures for rendering non-polygonal geometry
Kuckir, Ivan ; Křivánek, Jaroslav (advisor) ; Vorba, Jiří (referee)
In modern 3D graphics, scenes made of triangles are usually used, combined with methods based on ray tracing. Hierarchical data structures, called accelerating trees, are often used to speed up the search for intersection between ray and the scene. When testing the best current methods with non-polygonal geometry (line segments), we have found out that those structures cannot build an effective tree in many cases. The aim of this work is to formulate the problem mathematically. Thanks to this, the whole subject becomes more transparent and we can see the shortcomings of current methods, which have not yet been pointed out. At the result, we develop an algorithm which generalizes all current methods, which is not dependent on geometry and directly shows the space for improvement.
|
|
Praktické datové struktury
Pokorný, Michael ; Mareš, Martin (advisor) ; Babka, Martin (referee)
In this thesis, we implement several data structures for ordered and unordered dictionaries and we benchmark their performance in main memory on synthetic and practical workloads. Our survey includes both well-known data structures (B-trees, red-black trees, splay trees and hashing) and more exotic approaches (k-splay trees and k-forests). Powered by TCPDF (www.tcpdf.org)
|
|
3D data representation and visualization of complex features of traffic infrastructure
Hřebec, Tomáš ; Brůha, Lukáš (advisor) ; Laštovička, Josef (referee)
7 Abstract This bachelor thesis designs and implements the process of creating and visualizing of 3D models of complex elements of road infrastructure with focus on level crossing. The theoretical part outlines the principles of modeling, methods of collecting spatial data using the Structure from Motion method and aerial images. This thesis also introduces the basics of Blender software, which the model is created in, and how ArcGIS Pro software, in which the final models are visualized, works with 3D data. Model of a bridge is created by an add-on for Blender. This work describes how the add-on was created, how it works and how to control it. In the end, there is described how to visualize the models. Keywords: Spatial data structures, 3D GIS, 3D visualization, traffic infrastructure
|
|
Implementation of Sum Data Type in C++
Novák, Samuel Matyáš ; Roupec, Jan (referee) ; Matoušek, Radomil (advisor)
Práce se zaobírá problematikou implementace součtového datového typu v jazyce C++. Nejprve navrhuje vlastní abstrakce pro manipulaci s posloupnostmi hodnot a typů, které následně umožňují vyjadřovat komplexní operace deklarativně. V průběhu implementace jsou prezentovány návrhové vzory obvyklé pro oblast metaprogramování. Implementace přichází s rozhodnutími odlišnými od referenční implementace. Pro manipulaci se součtovým typem jsou představeny dvě šablony funkce, lišící se sémantikou. Užití součtového typu je ukázano na příkladu konečného stavového automatu.
|
|
.NET's LINQ Optimization
Šerý, Daniel ; Ryšavý, Ondřej (referee) ; Pluskal, Jan (advisor)
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.
|
|
Praktické datové struktury
Pokorný, Michael ; Mareš, Martin (advisor) ; Babka, Martin (referee)
In this thesis, we implement several data structures for ordered and unordered dictionaries and we benchmark their performance in main memory on synthetic and practical workloads. Our survey includes both well-known data structures (B-trees, red-black trees, splay trees and hashing) and more exotic approaches (k-splay trees and k-forests). Powered by TCPDF (www.tcpdf.org)
|
|
Data structures for rendering non-polygonal geometry
Kuckir, Ivan ; Křivánek, Jaroslav (advisor) ; Vorba, Jiří (referee)
In modern 3D graphics, scenes made of triangles are usually used, combined with methods based on ray tracing. Hierarchical data structures, called accelerating trees, are often used to speed up the search for intersection between ray and the scene. When testing the best current methods with non-polygonal geometry (line segments), we have found out that those structures cannot build an effective tree in many cases. The aim of this work is to formulate the problem mathematically. Thanks to this, the whole subject becomes more transparent and we can see the shortcomings of current methods, which have not yet been pointed out. At the result, we develop an algorithm which generalizes all current methods, which is not dependent on geometry and directly shows the space for improvement.
|
|
Persistent data structures in C
Hájek, Jakub ; Kopecký, Michal (advisor) ; Falt, Zbyněk (referee)
Persistent data structures in C Abstract: This work describes the design and implementation of persistent data structures framework for C programming language. It discusses effective imple- mentation of persistent structures and providing transparent manipulation of data. This work defines services which should be provided by persistent layer and tries to define some general persistent layer interface for good extensibility. In the end it analyses performance issues of various data storages and tries to specify class of applications, which could use persistent data structures framework. Keywords: persistent tree structures, C, data structures
|