列表或单线阵列/参数:一个或另一个性能更好吗?
Posted
技术标签:
【中文标题】列表或单线阵列/参数:一个或另一个性能更好吗?【英文标题】:List or single line array/parameters: Does one or the other perform better? 【发布时间】:2017-06-24 01:53:51 【问题描述】:有点笼统的问题,但它已经在我脑海中萦绕了一段时间。
在学习 php 编码时,为了帮助我从头开始创建 WordPress 主题,我注意到一些数组/参数保留在一行中,而另一些则列在另一个下方。就个人而言,我更喜欢在一个和另一个下面列出数组,因为我觉得这有助于提高可读性并且通常看起来更整洁 - 特别是如果数组很长。
有谁知道列出数组/参数是否有任何性能“不良影响”,例如减慢页面加载速度等?据我所知,这只是编码器的偏好。这是一个正确的假设吗?
【问题讨论】:
这个问题并不是特别针对 ***s 范围的,但数组结构完全取决于编码人员的偏好。如果有任何“性能优势”,它们将是微不足道的。如果速度是一个问题,您最好在处理代码中寻找实际的瓶颈,因为数组是纯粹定义的。处理该数组数据时会产生性能影响。 (即循环、修改、更新等) 感谢您的意见达伦。 【参考方案1】:代码格式化对性能没有影响。
即使您声称读取较大的文件需要更长的时间,如果您至少使用 PHP 5.5,那么 PHP 将使用操作码缓存 - 它会缓存它为后续请求解析文件的方式,从而消除您拥有的任何格式在你的文件中。
【讨论】:
感谢您的洞察力。作为一个附带问题,这个“操作码缓存”是否也会消除空白,或者这是我需要自己做的事情? 空白被消除。操作码是 PHP 解析成的自动生成的代码。把它想象成简化一个方程。如果您看到类似y = a * (342 / 684)
的内容,您可以将其简化为y = a / 2
。你会得到一个你自己创建的非常不同的方程,它做同样的事情。以上是关于列表或单线阵列/参数:一个或另一个性能更好吗?的主要内容,如果未能解决你的问题,请参考以下文章
Swagger 2.0 - 如何使“一个或另一个”参数成为必需?
如何设置 GraphQL 查询,以便需要一个或另一个参数,但不是两者都需要
如何正确查询列表(或另一个 ManyToManyField)中所有对象的 ManyToManyField?