一次php fopen,fwrite,fclose和file_put_contents性能的测试

file_put_contents,不仅可以传入字符串,还可以传入对象、资源、数组等其他类型,函数内部会进行转换并且校验,还会检查文件写锁,而fwrite只接收字符串参数并且不进行判断,直接向传入的file_handle写入数据,但是他们最终都是通过php_stream系列的函数进行文件写入,调用的是系统的低层io,posix write,所谓文件缓存,只是让数据保存在内存中,每次截取8k大小写入,而不是一个一个字节写入。

================================

fopen once,fwrite 100000 ,fclose once

real 0m0.118s
user 0m0.037s
sys 0m0.081s
fopen fwrite fclose 10000
real 0m0.522s
user 0m0.187s
sys 0m0.331s


file_put_content 10000
real 0m12.607s
user 0m0.539s
sys 0m3.863s


file_put_contents flags => FILE_APPEND
real 0m0.451s
user 0m0.097s
sys 0m0.354s
发布了16 篇原创文章 · 获赞 10 · 访问量 15万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览