【发布时间】:2018-08-17 12:24:28
【问题描述】:
我试图弄清楚如果我调用die(json_encode($array)); 而不是仅仅回显结果并让脚本结束,是否对内存使用有任何好处。我想它部分取决于脚本,但我问的是它在逻辑上工作正常的场景,但其他条件将在脚本的下方进一步检查但未执行,这意味着变量仍在内存中,代码仍在运行脚本。
从 AJAX 请求调用 die() 或 exit() 到 echo 我的 JSON 数据是否有任何内存/CPU 节省效果?如果我在脚本中替换 echo,是否会更快释放变量和脚本执行的内存?
【问题讨论】:
-
如果您的脚本在
echo之后立即终止,则无需调用die。我怀疑是否有任何积蓄。如果下面有一堆ifs 不会被执行,那么当然……你可以节省一些 CPU 周期。可能没什么大不了的 -
您是否知道最好的做法是 a) 为更大的逻辑要求制作多个文件,或 b) 调用
die()以节省 CPU 周期?我假设(一)。我正在计划在此应用程序生命周期开始时每个 CPU 周期的潜在需求,因此如果它可以节省一些 CPU 周期,即使使用更小的脚本也可能值得。.. -
如果您需要提前几毫秒释放内存,那么您的运行可能太接近最大值,应该通过确保留出一些空间来解决问题。
-
如果我想负责任而不是节俭。适当地注意到了。感谢您的意见。
-
这将最适合在您的环境中进行基准测试。在一种环境可能有利于一种方法的情况下,另一种可能不会。然而,与其他方法相比,
die/exit的使用存在内部影响,例如返回码或析构函数的处理。不过要清楚dieis equivalent toexit
标签: php performance optimization memory-management memory-leaks