{'fraction_non_alphanumeric': 0.019128586609989374, 'fraction_numerical': 0.0, 'mean_word_length': 4.8875, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Long-latency Control Dependence : Does it Really Matter ?

Branch Prediction is an important factor in achieving high performance in modern microprocessors. Branch predictors are used to keep pipeline filled with instructions before the outcome of the branch condition is known. On the other hand, branch misprediction halts fetching of useful instructions. The situation becomes worse when we take into account the cache pollution a branch misprediction causes. Branches that depend on a long-latency loads take much longer time to resolve. As a result, mispredicting such branch fills up the pipe with a lot of useless instructions. Finally, when the branch resolves the entire start-up latency comes in the critical path. Several recent studies have speculated that such branches are critical for performance. In this paper, we put this debate to rest by showing that these branches are very small in number and do not affect performance.