【问题标题】:PHP - Are there any real benefits to calling die() instead of echo?PHP - 调用 die() 而不是 echo 有什么真正的好处吗?
【发布时间】: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 的使用存在内部影响,例如返回码或析构函数的处理。不过要清楚die is equivalent to exit

标签: php performance optimization memory-management memory-leaks


【解决方案1】:

die() 等价于exit()。没有有意义的差异,任何差异都可能基于实现。大多数人更喜欢在例行退出时使用exit(),在出现错误的情况下使用die()。这可能是由于可读性,仅此而已。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2011-08-15
    • 2011-03-15
    相关资源
    最近更新 更多