ASP和PHP文件操作速度的對(duì)比
最近一個(gè)項(xiàng)目中,有一個(gè)讀取某個(gè)文件夾下所有文件的功能。使用了ThinkPHP + layui,本地測(cè)試沒(méi)有問(wèn)題,到客戶哪里發(fā)現(xiàn)速度奇慢,需要10秒以上才能讀取完畢。 經(jīng)溝通發(fā)現(xiàn)一個(gè)文件夾有1000+ 個(gè)文件,客戶之前有一套asp的老系統(tǒng),1000多個(gè) 文件也能實(shí)現(xiàn)秒開(kāi)。。。
一時(shí)竟然沒(méi)有頭緒,難道 PHP 不如 ASP快 ??因?yàn)轫?xiàng)目中代碼太多,編寫單獨(dú)的代碼測(cè)試。files/1000目錄存放了 1428個(gè)文件測(cè)試。
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的源碼如下:
<?php foreach( scandir("files/1000") as $f ){ echo "${f}<br>"; }
Windows文名是GBK編碼的,想要前后端分離,將文件名通過(guò)JSON返回前臺(tái),還需要將文件名改為UTF-8編碼,為了公平,對(duì)比加上UTF8轉(zhuǎn)換時(shí)間。test_utf8.php的源碼如下:
<?php foreach( scandir("files/1000") as $f ){ $f = mb_convert_encoding($f, "utf-8", "gbk"); echo "${f}<br>"; }
即使加個(gè)轉(zhuǎn)碼時(shí)間,PHP還是要快1倍。
排除語(yǔ)言的問(wèn)題了。最終發(fā)現(xiàn) layui.table 列表數(shù)據(jù)一多,就會(huì)渲染超慢,改為 Vue后 解決。
到此這篇關(guān)于ASP和PHP文件操作速度的對(duì)比的文章就介紹到這了,更多相關(guān)ASP和PHP文件操作速度內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!
相關(guān)文章:
