天涯论坛

 找回密码
 立即注册
搜索
查看: 21|回复: 3

PHP到底是不是世界上最好的语言,争论能够休矣

[复制链接]

2973

主题

412

回帖

9117万

积分

论坛元老

Rank: 8Rank: 8

积分
91179187
发表于 2024-10-4 19:01:27 | 显示全部楼层 |阅读模式

PHP是世界上最好的语言,这曾经是IT从业圈的一个梗,乃至一度作为其他语言运用者嘲笑的点,让PHPer倍感尴尬,一时又不晓得怎样反驳,怎样证明自己的观点。

PHP到底是不是这个世界上最好的语言,长败兴,争论不休,C,c#,C++,PHP,python等运用者,都认为自己运用的语言才是世界最佳,就像C罗老自诩自己是历史最佳,世界最佳同样那样怎样证明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();

读取文件几乎不包括用户级代码,只是单纯测试一种语言的基本功能。

咱们瞧瞧第1回合比赛结果:

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老矣,尚能饭否?
下一篇:“1”是啥意思网络用语?
回复

使用道具 举报

3089

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098770
发表于 2024-10-10 10:40:01 | 显示全部楼层
外贸B2B平台有哪些?
回复

使用道具 举报

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
发表于 2024-10-10 22:43:49 | 显示全部楼层
感谢您的精彩评论,为我带来了新的思考角度。
回复

使用道具 举报

3069

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99138952
发表于 2024-10-24 19:08:34 | 显示全部楼层
谷歌外贸网站优化技术。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 03:10 , Processed in 0.096658 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.