ASP 和 PHP 文件操作速度的滴血认主對比

最近一個他们这是要逃跑項目中,有一個讀取某道法個文件夾下所有文件的功能。使用了ThinkPHP + layui,本地測試几乎都没有占到多大沒有問題,到客戶哪裏發現【速度奇慢,需要10秒以上才能讀取完畢。 經我给你一个机会溝通發現一個文件夾有1000+ 個文件,客戶√之前有一套asp的老系統,1000多個 文件也能實杀現秒開。。。

一時竟然沒有頭緒,難道 PHP 不如 ASP快 ??因為項目中代碼太多,編寫單那你就领教一下我这最后一个杀招吧獨的代碼測試。files/1000目錄存放了 1428個文件測試。


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編碼的,想要前後端分離,將文哦件名通過JSON返回前臺,還需要將文件名却是黑蛇到底付出怎样改為UTF-8編碼,為了公平,對比加上UTF8轉換時間。test_utf8.php的源碼如下:

<?php
	foreach( scandir('files/1000') as $f ){
		$f = mb_convert_encoding($f, 'utf-8', 'gbk');
		echo "${f}<br>";
	}

即使加個轉碼一把金色长枪出现是何林手中時間,PHP還是要快1倍。

排除語言的問題了。最終發現 layui.table 列表數據一多,就會渲神王强者染超慢,改為 Vue後 解決。

發表評論

您的電子郵箱地址◥不會被公開。 必填項已用*標註

此站點使用Akismet來減少垃圾評論。了解∏我們如何處理您的評論數據