Оптимизация на цикъла

Циклите са многократно повторение на определена част от кода. Тук на първо място трябва да търсите "тесните места".

за или докато?

По отношение на скоростта for и while са приблизително еднакви. Но балансът може да варира в зависимост от използвания хардуер, платформа, браузър. Например, според някои източници, for е значително по-бърз в IE. Обратно, някои тестове показват, че докато с постусловие има по-добра производителност.

защото for е по-компактен и дава по-добра четимост на кода по подразбиране. Ако резултатът не е задоволителен, тогава експериментирам с време.

Минимум операции

Ние премахваме от цикъла всичко, което може да бъде премахнато. Тази точка е съвсем очевидна, няма да се спираме на нея подробно.

Оптимизация на булево сравнение

Тази операция също се извършва при всяка итерация, така че също е важна.

Оптимизиране за

  1. премахваме изчисляването на дължината на масива на всяка стъпка;
  2. комбинирайте инициализирането на променливата на цикъла и изчисляването на дължината на масива;
  3. започнете итерация от последния елемент, движейки се към първия;
  4. комбинирайте изрази за сравнение и намаляване.

Оптимизиране докато

Развиване на примка

Целта на разгръщането на цикъл е да се намалят разходите за обработката му чрез намаляване на броя на повторенията.

или тази опция:

Намалете броя на повторенията наполовина. По аналогия можете да намалите броя на стъпките с по-голям брой пъти. Тази опция за оптимизация се използва най-добре, когато броят на стъпките е известен предварително, за да може да се избере размерът на размаха по такъв начин, че да се избегнат допълнителни проверки и операции в края на цикъла.