Databases are only about performance. Users expect high throughput and low response times for their queries. To achieve this, both the general algorithms and the particular implementation have to be developed with performance in mind. In order to increase the performance, developers must have a good understanding on where bottlenecks are. Trying to optimize blindly wastes time and can even be detrimental.
In this project, we want to take an existing code base of our research database Hyrise, identify the bottlenecks, and improve the overall performance. This can include issues like locking and waiting, false cache line sharing, algorithmic inefficiencies, as well as inefficiencies in the binary generated by the C++ compiler.