This thesis introduces an automatic compiler optimization that improves the cache performance of object oriented programs. A static analysis identifies potential hot spots in a program. It combines this information with an analysis of the type structure to select data types from which large data structures are constructed. These are subject to structure splitting and tzpe clustering. We compare the analysis results to profiling data. With both datasets we achieve up to 30% of speed up.