【发布时间】:2015-02-09 11:36:46
【问题描述】:
生成字符串时使用哪个更快? implode()、sprintf() 还是变量的常规串联?
你问为什么?你可能不会对生成字符串这样一个小细节感兴趣,因为谁在乎这一切都在 ms 中,对吧?并不真地!不是当你必须从给定的变量中生成大量字符串时,小 0.00xms 会有所作为。在我的例子中,它是根据给定的前缀、内容类型和标识符生成 缓存键。
【问题讨论】:
-
答案几乎可以肯定是简单的串联;但是为什么你不能自己测试呢?
-
@MarkBaker 我自己回答了这个问题并发布了结果。
-
当然,还有
echo "{$id}:{$type}:{$prefix}";可能比您的任何其他选项都快一点` -
每次 524288 次迭代(分配给变量而不是回显字符串)内爆耗时 0.3941 秒; sprintf 耗时 0.4779 秒; concat 耗时 0.2437 秒;在我的开发箱上插值花费了 0.1788 秒。
标签: php benchmarking