Используемый терминал bash был установлен с использованием этого учебного пособия.Я не думаю, что использование другого cli имеет значение для времени выполнения php (так как не было никакой разницы между git bash и windows cmd), но для того, чтобы провести четкое различие, я называю его «выполненным из bash» (ссылаясь на терминал Ubuntu bash), или «выполняется из git bash» (ссылка на терминал git bash для Windows 10).
Я выполнил сценарий ниже несколькими способами:
1: два отдельных компьютера с Windows со стеком MAMP (Pro) и XAMPP, результаты которых в среднем составляли примерно 5,9 секунды .
2: Выполнено с помощью php для windows 10 без LAMP илиСтек XAMPP, в среднем около 5.1 секунд .
3: Однако, когда я выполняю этот код через терминал Bash (PHP 7.1.26-1 + ubuntu18.04.1 + deb.sury.org + 1 (cli)) среднее время выполнения составляет около 2,9 секунды .
<?php
$j=0;
$startTime = microtime(1);
for($i = 0; $i < 199999999; $i++ ){
$j+=4;
}
$time = microtime(1) - $startTime;
exit(var_dump($time));
Что я уже сделал
Пробовалзапустить его с параметром -n (который отключает php.ini) изo любые расширения, которые могут замедлять процесс, будут отключены, но это не имеет значения:
php test.php -n
Попытка запустить его как веб-сервер, чтобы увидеть, если это будет иметь значение, и это вызвало запуск сервера сBASH-терминал должен быть на 300 мс быстрее, чем выполняемый в кли, поэтому 2,6 с .Однако это не имело значения для команды, выполняемой из git bash:
php -S localhost:8080 -n
Измеренные различия между реальным, пользовательским и системным временем, которые имеют довольно большую разницу в результатах, усредненные в 10 раз по git bash и bash:
Bash
реальный: 0m2,993s
пользователь: 0m2,938s
sys: 0m0,063s
Git bash
real: 0m5.923s
user: 0m0.015s
sys: 0m0.030s
time php test.php -n
Понятия не имею, где искать дальше,поскольку это просто время выполнения php, которое меня беспокоит, пока.Надеюсь, что кто-то может помочь:).