首页 » 网站建设 » phpstopwatch技巧_PHP究竟是不是世界上最好的措辞辩论可以休矣

phpstopwatch技巧_PHP究竟是不是世界上最好的措辞辩论可以休矣

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

PHP是天下上最好的措辞,这曾经是IT从业圈的一个梗,乃至一度成为其他措辞利用者嘲笑的点,也让PHPer倍感尴尬,一时又不知道如何回嘴,如何证明自己的不雅观点。

PHP究竟是不是这个天下上最好的措辞,长久以来,辩论不休,C,c#,C++,PHP,python等利用者,都认为自己利用的措辞才是天下最佳,就像C罗老自诩自己是历史最佳,天下最佳一样,那么如何证明PHP究竟是不是天下最佳呢?

phpstopwatch技巧_PHP究竟是不是世界上最好的措辞辩论可以休矣

是骡子是马拉出来溜溜,我们本日来做一个测试,比较一下PHP和C#。

round one ‬读取文件方面

首先,我们对每种措辞都相称公正的读取文件代码办法:PHP和C#将同步、逐字节地读取一个4Mib大小的文件。
让我们看看PHP和C#在读取文件方面的较劲吧!

PHP:

‬function test()

{

$file = fopen("/file/file.bin", 'r');

$counter = 0;

$timer = microtime(true);

while ( ! feof($file)) {

$buffer = fgets($file, 4096);

$counter += substr_count($buffer, '1');

}

$timer = microtime(true) - $timer;

fclose($file);

printf("counted %s 1s in %s milliseconds\n", number_format($counter), number_format($timer 1000, 4));

}

test();

C#

‬using System.Diagnostics;

using System.Text;

var test = () => {

using var file = File.OpenText("/file/file.bin");

var counter = 0;

var sw = Stopwatch.StartNew();

while(!file.EndOfStream)

{

if(file.Read() == '1')

{

counter++;

}

}

sw.Stop();

Console.WriteLine($"Counted {counter:N0} 1s in {sw.Elapsed.TotalMilliseconds:N4} milliseconds");

};

test();

读取文件险些不包含用户级代码,只是纯挚测试一种措辞的基本功能。

我们来看看第一回合比赛结果:

PHP:32.49毫秒(均匀超过10次运行)

C#:37.30毫秒(均匀超过10次运行)

4Mib大概只是一张完全照片的大小,所以为了进一步证明PHP的优胜,然后我们换一个读取2.5g视比年夜小的文件速率:

PHP:24.82秒(均匀超过10次运行)

C#:26.67秒(均匀超过10次运行)

综上可以得出,不论是4Mib还是2.5g文件,PHP在读取文件速率方面都优于C#。

‬round two 查看文件性能

我们选取一个后缀名bin的文件

PHP

‬function test()

{

$file = fopen("/file/file.bin", 'r');

$counter = 0;

$timer = microtime(true);

while (stream_get_line($file, 4096) !== false) {

++$counter;

}

$timer = microtime(true) - $timer;

fclose($file);

printf("counted %s 1s in %s milliseconds\n", number_format($counter), number_format($timer 1000, 4));

}

test();

C#

‬var binTest = () =>

{

using var file = File.OpenRead("/file/file.bin");

var counter = 0;

var buffer = new byte[4096];

var sw = Stopwatch.StartNew();

while (file.Read(buffer, 0, buffer.Length) != 0)

{

counter += 1;

}

sw.Stop();

Console.WriteLine($"Counted {counter:N} 1s in {sw.Elapsed.TotalMilliseconds} milliseconds");

};

binTest();

经测试,结果如下:

PHP:423.50毫秒(均匀超过10次运行)

C#:530.42毫秒(均匀超过10次运行)

第二回合比赛结果显示,PHP在查看文件速率方面又快于C#。

总结

高手过招,胜在分毫,虽然几毫秒的差距,但是,依然分出了胜负,PHPer可以自满的说出那句话了,辩论可以休矣!

—-部分代码来自Csdn

标签:

相关文章

php为无色透明技巧_水货钻石其实也还行

从各种钻石中,可以看到大大小小的“包裹体” 图片来源:参考文献包裹体的种类多样。比钻石形成更早的包裹体,叫“原生包裹体”;与钻石同...

网站建设 2024-12-19 阅读1 评论0

phpstudy发送gbk技巧_php的文件上传

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己去世磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步...

网站建设 2024-12-19 阅读0 评论0