【发布时间】:2012-03-22 06:37:44
【问题描述】:
我正在使用 file_get_contents 从磁盘加载 XML 文件,作为测试,我发现我可以在 3.99 秒内使用 file_get_contents() 加载 1,000 次 156K 文件。我已经对加载的部分进行了子类化,并将其替换为 memcache 层,在我的开发机器上发现我可以在 4.54 秒内完成 1000 次相同文档的加载。
我很欣赏 file_get_contents() 会做一些缓存,但看起来它实际上比众所周知的缓存技术更快。在单台服务器上,file_get_contents() 的性能是不是可以做到最好?
我正在通过 Macports、OS X 10.6.8 使用 PHP 5.2.17。
编辑:我在这种大小的 XML 文档中发现,使用 MEMCACHE_COMPRESSED 标志有一点好处。通过 memcache 加载 1,500 次在 6.44 秒(压缩)而不是 6.74 秒(不压缩)内完成。但是两者都比 file_get_contents 慢,后者在 5.71 秒内完成相同数量的加载。
【问题讨论】:
标签: php file-io memcached php-internals