通过bash terminal for windows安装的Php比用于windows 10的Php执行速度更快

通过bash terminal for windows安装的Php比用于windows 10的Php执行速度更快,php,xampp,config,mamp-pro,Php,Xampp,Config,Mamp Pro,使用的bash终端是使用教程安装的。我不认为使用不同的cli会影响php的执行时间(因为git bash和windows cmd之间没有区别),但为了明确区别,我将其称为“从bash执行”(参考Ubuntu bash终端),或“从git bash执行”(参考适用于windows 10的git bash终端) 我以多种方式执行了以下脚本: 1:两台独立的windows计算机,具有MAMP(Pro)和XAMPP堆栈,平均结果约为5.9秒 <?php $j=0; $startTime =

使用的bash终端是使用教程安装的。我不认为使用不同的cli会影响php的执行时间(因为git bash和windows cmd之间没有区别),但为了明确区别,我将其称为“从bash执行”(参考Ubuntu bash终端),或“从git bash执行”(参考适用于windows 10的git bash终端)

我以多种方式执行了以下脚本:

1:两台独立的windows计算机,具有MAMP(Pro)和XAMPP堆栈,平均结果约为5.9秒

<?php    
$j=0;
$startTime = microtime(1);

for($i = 0; $i < 199999999; $i++ ){
        $j+=4;
    }

$time = microtime(1) - $startTime;
exit(var_dump($time));
2:在没有LAMP或XAMPP堆栈的情况下,使用php for windows 10执行它,平均时间约为5.1秒

<?php    
$j=0;
$startTime = microtime(1);

for($i = 0; $i < 199999999; $i++ ){
        $j+=4;
    }

$time = microtime(1) - $startTime;
exit(var_dump($time));
3:但是,当我通过Bash终端(php7.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));
尝试将其作为Web服务器运行,以查看是否会产生影响,这导致从BASH终端启动的服务器比在cli中执行的服务器快300ms,因此2.6秒。但是,从git bash执行的命令并不重要:

php -S localhost:8080 -n
在git bash和bash上测量的实际时间、用户时间和系统时间之间的差异平均为10次,结果差异很大:

Bash
实际值:0m2.993s
用户:0m2.938s
sys:0m0.063s

Git bash
实际值:0m5.923s
用户:0m0.015s
系统:0m0.030s

time php test.php -n

我不知道在哪里可以看得更远,因为现在我关心的只是php的执行时间。希望有人能提供帮助:)。

这可能是windows版PHP-emulation或堆栈中的一些开销。除非PHP或Windows开发人员阅读了本文,否则我不知道您是否会得到明确的答案。你为什么担心这个?你不会在Windows 10中托管实时应用程序,因此不会影响真实世界的性能。很抱歉响应缓慢,我仍然希望得到一些答案。我很担心这一点,因为我有一个运行速度更慢的实时服务器(apache在centOS上运行),所以我希望能够基于这些小细节进行快速修复。我想造成执行时间差异的原因可能与我的bash(ubuntu)和windows安装之间的差异相似。我现在将使用一些分析工具,希望这将帮助我分配我的问题。感谢您花时间回复!这可能是windows版PHP-emulation或堆栈中的一些开销。除非PHP或Windows开发人员阅读了本文,否则我不知道您是否会得到明确的答案。你为什么担心这个?你不会在Windows 10中托管实时应用程序,因此不会影响真实世界的性能。很抱歉响应缓慢,我仍然希望得到一些答案。我很担心这一点,因为我有一个运行速度更慢的实时服务器(apache在centOS上运行),所以我希望能够基于这些小细节进行快速修复。我想造成执行时间差异的原因可能与我的bash(ubuntu)和windows安装之间的差异相似。我现在将使用一些分析工具,希望这将帮助我分配我的问题。感谢您花时间回复!