加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP file_put_contents在75万行文本文件上的性能

发布时间:2020-12-13 22:52:41 所属栏目:PHP教程 来源:网络整理
导读:这个 PHP脚本在我的文本文件(日志)中添加了行: file_put_contents($filename,$log .PHP_EOL,FILE_APPEND | LOCK_EX); 我限制日志文件保持在100Mb以内,此后将创建一个新文件;因此我期待aprox.每行144个字节,每个文件大约750000行. 我需要记录操作,我需要快速
这个 PHP脚本在我的文本文件(日志)中添加了行:

file_put_contents($filename,$log .PHP_EOL,FILE_APPEND | LOCK_EX);

我限制日志文件保持在100Mb以内,此后将创建一个新文件;因此我期待aprox.每行144个字节,每个文件大约750000行.

我需要记录操作,我需要快速记录它们.有谁知道file_put_contents这些大文件的性能是否会逐渐变慢?

也许它们的体积并不大,但线条数量肯定很大.

—-更新:—-

基于Cully Larson的建议,这里是file_put_contents将完全相同的$string写入纯文本文件所花费的时间的结果.我正在为Windows运行WAMP服务器.

Line 000001 150bytes --> 0.00046801567077637 seconds
Line 000002 150bytes --> 0.00022101402282715 seconds
Line 000003 150bytes --> 0.00019407272338867 seconds
...
Line 000010 150bytes --> 0.00016212463378906 seconds
...
Line 000100 150bytes --> 0.00015997886657715 seconds
...
Line 001000 150bytes --> 0.00015687942504883 seconds
...
Line 010000 150bytes --> 0.00016403198242188 seconds
...
Line 100000 150bytes --> 0.00016617774963379 seconds
...
Line 250000 150bytes --> 0.0001678466796875 seconds
...
Line 500000 150bytes --> 0.00016283988952637 seconds
...
Line 750000 150bytes --> 0.00020289421081543 seconds

EOF!

希望这些信息也可以帮助别人.

解决方法

maybe they are not big in size but certainly are big in the no. of lines

没关系.你正在做追加,而不是读写.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读