最近一个项目中,有一个读取某个文件夹下所有文件的功能。使用了ThinkPHP + layui,本地测试没有问题,到客户哪里发现速度奇慢,需要10秒以上才能读取完毕。 经沟通发现一个文件夹有1000+ 个文件,客户之前有一套asp的老系统,1000多个 文件也能实现秒开。。。

一时竟然没有头绪,难道 PHP 不如 ASP快 ??因为项目中代码太多,编写单独的代码测试。files/1000目录存放了 1428个文件测试。

ASP和PHP文件操作速度的对比

test.asp的源码如下:

set fso = server.createobject("Scripting.FileSystemObject")
set fpo = fso.getFolder(server.mappath("files/1000"))
for each x in fpo.files
 response.write x.name & "<br />"
next

test.php的源码如下:

<"${f}<br>";
 }

ASP和PHP文件操作速度的对比

Windows文名是GBK编码的,想要前后端分离,将文件名通过JSON返回前台,还需要将文件名改为UTF-8编码,为了公平,对比加上UTF8转换时间。test_utf8.php的源码如下:

<"${f}<br>";
 }

即使加个转码时间,PHP还是要快1倍。

ASP和PHP文件操作速度的对比

排除语言的问题了。最终发现 layui.table 列表数据一多,就会渲染超慢,改为 Vue后 解决。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com