Техника оптимизации под линуха

       

Упрощение алгоритма


Наибольший прирост производительности дает именно алгоритмическая оптимизация (например, замена пузырьковой сортировки на сортировку вставками). Никакой компилятор с этим справится не в состоянии. Во всяком случае пока. Но первый шаг уже сделан. Современные компиляторы распознают (или во всяком случае пытаются распознать) смысловую нагрузку транслируемого кода и при необходимости заменяют исходный алгоритм другим, намного более эффективным.

Вот, например:

main(int n, char **v)

{

       int a = 0;  int b = 0;

       for(i=0; i<n; i++) a++;    // многократное сложение – это умножение

       for(j=0; j<n; j++) b++;

       return a*b;

}



Содержание раздела