PHP - 更快地使用代码

Bis*_*hoy 0 php optimization performance

一般来说,代码长度是否对程序的速度有影响?我说的是小尺寸的差异,而不是将10,000行与10行相比较.

示例#1:

// Ternary Operator
$todo = (empty($_POST['todo'])) ? 'default' : $_POST['todo'];
Run Code Online (Sandbox Code Playgroud)

VS

// The above is identical to this if/else statement
if (empty($_POST['todo'])) {
    $action = 'default';
} else {
    $action = $_POST['todo'];
}
Run Code Online (Sandbox Code Playgroud)

和其他例子,如不使用常见括号和通用缩进.

示例#2:

if ($gollum === 'halfling') {
    $height --;
}
Run Code Online (Sandbox Code Playgroud)

VS

if ($gollum === 'halfling') $height --;
Run Code Online (Sandbox Code Playgroud)

另外使用CamelCase命名约定会降低字符长度,这是否有效?我怀疑这是有效的,但它仍然使用较少的字符.

干杯!

krt*_*tek 5

在第一个示例中,您使用了两种不同的结构,即"三元运算符"和"if/else"语句.

由于'if/else'语句更通用(即你可以用它做更多的事情),编译器/解析器在优化它时会遇到更多困难.所以我想说三元运算符可能会快一点.

在第二个例子中,它只是关于编码风格,两个代码可能会被编译/解析为完全相同的东西,所以这里没有增益.

然而,过早的优化是万恶之源!即使在整个应用程序中进行这种微小优化的收益也可能是微不足道的,并且大部分时间都会牺牲可读性和可维护性.所以我强烈反对这种事情.

关于字符长度,根本不重要,编译器/解析器无论如何都会将其转换为计算机可以理解的其他表示形式,因此唯一会改变的是源代码将占用的空间.硬盘.

只需以更容易理解的方式编写代码,让编译器/解析器执行这些操作.优化算法本身比编写算法要好得多.