На Сodeforces часто возникают обсуждения различных оптимизаций и особенностей работы современных процессоров. Думаю, будет интересно почитать про ситуацию, когда выигрыш в производительности достигается довольно неочевидным образом, полагаясь на branch prediction (предсказание переходов). Что это такое, и какая ситуация рассматривается, можно почитать вот тут: http://stackoverflow.com/questions/11227809/why-is-processing-a-sorted-array-faster-than-an-unsorted-array
Вкратце, ситуация следующая: простая линейная обработка массива целых чисел на конкретном примере выполняется почти в 6 раз быстрее, если предварительно этот массив отсортировать. Вопрос — почему?