PHP-变量名的1对true、0对false或冗长是否会影响性能?

PHP-变量名的1对true、0对false或冗长是否会影响性能?,php,performance,verbosity,Php,Performance,Verbosity,我目前正在开发一个字段级ACL函数,该函数将被大量使用 每个数据字段在渲染之前都必须通过此函数 因此,性能是该功能的关键问题 我使用1与真还是0与假有关系吗 (我知道这些不是100%等效的,我只想知道性能影响) 通过更改变量名详细程度,我会获得任何性能吗 速记是否像?:而不是如果其他有任何影响 if($x){ $x; } else { $y; } VS $x?$x:$y; 通常情况下,我会尽量保持代码的可读性,但这是一种异常情况 我想从这个函数中挤出每一个可能的毫秒的性能 此外,任何

我目前正在开发一个字段级ACL函数,该函数将被大量使用

每个数据字段在渲染之前都必须通过此函数

因此,性能是该功能的关键问题

  • 我使用1与真还是0与假有关系吗

    (我知道这些不是100%等效的,我只想知道性能影响)

  • 通过更改变量名详细程度,我会获得任何性能吗

  • 速记是否像?:而不是如果其他有任何影响

    if($x){ $x; } else { $y; }  VS  $x?$x:$y;
    
通常情况下,我会尽量保持代码的可读性,但这是一种异常情况

我想从这个函数中挤出每一个可能的毫秒的性能


此外,任何指向比较类似PHP函数性能的页面的链接都将不胜感激。

我怀疑1对true和0对false是否有任何明显的性能影响,但如果您确实想知道,您应该创建一个基准

变量名长度不应该有任何区别。编译器在解析脚本时将它们全部转换为内部指针

速记符号也不会有太大区别,编译器应该为两者生成类似的代码

您的关注点似乎都基于这样的假设:代码正在逐行解释。PHP是编译的,而不是解释的。

所有这些都不会影响性能。
如果你真的想挤出性能的最后一点,那么你看起来就大错特错了。

而且可能会带来严重的性能优势。我很好奇这个问题的背景是什么。。。这比实际问题更有趣,因为99.9%的情况下我认为这无关紧要。一些背景:过去两年我一直在研究一个24/7自动生成代码的框架。它将约定优于配置的概念提升到了另一个层次。基本上我的应用现在就可以学习了。它为管理员和前端web MVC以及通过REST接口的跨平台手机和平板电脑应用程序生成代码。系统的核心功能是100%访问控制,管理员可以在页面、行、列和字段级别设置访问权限。这适用于用户和用户组。所有对数据的访问在返回之前都必须通过核心acl函数进行传递。如果没有加速器(特别是在性能关键的情况下,不使用加速器将是犯罪性的愚蠢),脚本的运行时=解析时间+执行时间。长变量和一般代码冗长会影响分析时间,但不会影响执行时间。@fvu但分析是脚本执行开始时的一次性操作。如果性能是一个问题,那么可能是在大循环中运行的代码中出现的。与循环的执行时间相比,初始解析时间可以忽略不计。我应该说我已经获得了惊人的速度和性能。事实上,这更像是一个好奇的问题。由于true和false是4个字符的字符串,1和0是1个字符的bool值,所以我认为这可能会对ram的分配方式产生一些小的影响。假设函数执行了1000次。当我有更多时间的时候,我将在周末运行几个基准测试并发布结果。
true
不是字符串,
“true”
是。解析程序后,
true
false
在内部表示为1和0。谢谢,我已经有了惊人的性能。我只是在为这一功能的100%完美而努力。在其他地方找不到正在讨论的主题。