DAle's blog

By DAle, 12 years ago, In Russian

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

Вкратце, ситуация следующая: простая линейная обработка массива целых чисел на конкретном примере выполняется почти в 6 раз быстрее, если предварительно этот массив отсортировать. Вопрос — почему?

  • Vote: I like it
  • +37
  • Vote: I do not like it