TODO: add an introductory and a summary videos.
This lab assignment focuses on improving performance by reducing the number of branch mispredictions. In this lab, we have a large collection of key-value pairs from which we select only useful items. Such algorithms are widely used in many real-world applications, for example, texture compression. Input collection contains random key values which makes it hard for a modern CPU to predict whether they should be selected or not. Your task here is to reduce the number of branch mispredictions.