【发布时间】:2014-08-19 08:43:10
【问题描述】:
根据文档中的 cmets:http://php.net/manual/en/language.generators.overview.php
我们可以看到,多亏了生成器,内存使用得到了巨大的改善(这很明显),但执行速度也慢了 2-3 倍——这对我来说并不是那么明显。
我们以牺牲时间为代价来提高内存使用率 - 这是不好的。
那么,为什么 php 生成器比数组慢?
感谢您的提示。
【问题讨论】:
-
因为它必须运行代码来获取我们没有获取的内容以节省内存?
-
@NiettheDarkAbsol 是的,但在文档中它是作为时间问题的解决方案提供的:“生成器允许您编写使用 foreach 迭代一组数据的代码,而无需在其中构建数组内存,这可能会导致您超出内存限制,或需要大量的处理时间来生成"
标签: php performance foreach generator