PHP |Производительность восходящих и нисходящих циклов - PullRequest
0 голосов
/ 06 ноября 2019

Недавно я слышал, что нисходящие циклы FOR работают быстрее, чем восходящие. Я задавался вопросом, почему и не нашел никаких задокументированных подтверждений. Я решил сделать следующие тесты:

<?php

$a = null;

$limit = pow(10, 9);

$time = microtime(true);

for ($i = 0; $i < $limit; ++$i) {
    $a = 1;
}

$time = microtime(true) - $time;

echo "Asc " . number_format($time, 3) . PHP_EOL;

$a = null;

$time = microtime(true);

for ($i = $limit; $i > 0; --$i) {
    $a = 1;
}

$time = microtime(true) - $time;

echo "Desc " . number_format($time, 3) . PHP_EOL;

Я был очень удивлен, когда имел разные результаты - Asc 84.365 Desc 64.448

Не могли бы вы сказать мне, что я сделал неправильно в тесте или почему нисходящий циклна самом деле быстрее?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...