Broneske, DavidSaake, Gunter2018-04-122018-04-122017https://dl.gi.de/handle/20.500.12116/16397In main-memory database systems, the time to process the data has become a limiting factor due to the missing access gap. With changing processing capabilities (e.g., branch prediction, pipelining) in every new CPU architecture, code that was optimal once will probably not stay the best code forever. In this article, we analyze processing capabilities of the classical CPU and describe code optimizations to exploit the capabilities. Furthermore, we present state-of-the-art compiler techniques that already implement code optimizations, while also showing gaps for further code optimization integration.enIn main-memory database systemsthe time to process the data has become a limiting factor due to the missing access gap. With changing processing capabilities (e.g.branch predictionpipelining) in every new CPU architecturecode that was optimal once will probably not stay the best code forever. In this articlewe analyze processing capabilities of the classical CPU and describe code optimizations to exploit the capabilities. Furthermorewe present state-of-the-art compiler techniques that already implement code optimizationswhile also showing gaps for further code optimization integration.Exploiting capabilities of modern processors in data intensive applicationsText/Journal Article10.1515/itit-2016-00491611-2776