首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php中简化性能/优化

在php中简化性能/优化
EN

Stack Overflow用户
提问于 2013-07-01 12:53:00
回答 3查看 1.4K关注 0票数 4

谈到PHP,我想问一问,这两者在性能上是否存在差异:

代码语言:javascript
复制
$name=($IsBoy)?"George":"Mary";

vs

代码语言:javascript
复制
if($IsBoy)
{
    $name="George";
}
else
{
    $name="Mary";
}
  • 这两种情况会产生不同的操作码吗?
  • 如果是的话,理论上的在性能上会有什么不同吗?(当然,忽略这两者需要阅读/编译/解释的时间)
  • 如果,是的,那么像zend优化器这样的优化器会利用这一点并自动重新安排吗?

附注:如果你认为我的代码对“全-长”如果-如果-然后-如果-那么-太复杂,请提供一个最基本的代码的例子和答案。

更新:

我希望问题是完全清楚的,但似乎人们没有得到这个信息。这个问题是关于理论上(...yet实的和中观的)性能上的差异(这就是为什么我在theoretical).中使用粗体和斜体)。请不要回答说什么编程风格更可读性,这是太挑剔,不担心性能。

附注:他说:通过强调“理论”这个词,我试图防止“不要担心,它不值得麻烦,它只是纳秒”这样的回答。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-02 13:44:15

好吧,这很有趣

我为您的两个示例分别做了一个快速的x调试测试()。

在这里我得到了

当然,每次刷新都可能有不同的结果--所有这些都确保

第二种方法比第一总是更好

即使每次刷新,您可能会发现第一种方法偶尔会花费较少的时间,但这与PHP核心优化有关。

关于Zend优化器,我没有测试它

票数 5
EN

Stack Overflow用户

发布于 2013-07-01 13:51:44

我经常抛弃如果-如果-然后-其他的利益:

代码语言:javascript
复制
$name = 'the expected';
if ([expr]) $name = 'the exception';

易于阅读,较少的支撑和紧凑。

票数 0
EN

Stack Overflow用户

发布于 2013-07-01 13:00:36

difference.You可以检查下面的堆栈溢出链接以获得更多的参考信息,这两个语句和三元操作符都有一定的性能。

Click here

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17404953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档