代码之家  ›  专栏  ›  技术社区  ›  Tyler Carter

使用PHP函数别名是否性能差/做法不好?

  •  2
  • Tyler Carter  · 技术社区  · 15 年前

    只是出于好奇,

    阿卡,是吗 sizeof() 花的时间比花的时间多 count() 跑?

    除非有巨大的差异,否则我不打算尝试微优化我的脚本。我只是好奇。

    “自己试试”警察注意:


    这似乎也扩展到了“最佳实践”,因为PHP的文档说明最好不要使用别名,而应该通过master函数调用别名。在这种情况下,这意味着 应该用在 sizeof() .

    3 回复  |  直到 15 年前
        1
  •  1
  •   Sampson    15 年前

    据我所知,别名通常是两种不同事物的结果。例如,当名称约定更改时,或者函数名称本身更改时。立即废除旧的惯例将是灾难性的。此外,它们对来自不同语言背景的用户很有帮助,并且希望使用许多他们已经习惯的熟悉方法。

    我认为没有任何额外的开销。但是一定要查看鼓励使用方法/函数名的官方文档,因为在不确定的将来,不推荐的方法/函数名总是潜在的。

    由于API清理而更改了名称 或者其他原因和 为了向后兼容,旧名称仅保留为别名 使用这种别名是个坏主意

    http://php.net/manual/en/aliases.php

        2
  •  3
  •   troelskn    15 年前

    我很确定它们编译成相同的字节码等价物,所以答案是否定的。

        3
  •  1
  •   Glen Solsberry    15 年前

    http://github.com/gms8994/benchmark/blob/master/php/sizeof_vs_count.php ,这是我想到的。当然,这只是比较 sizeof count ,但它至少回答了部分问题

    glens@glens-desktop:$ ./sizeof_vs_count.php 
    sizeof($globals->x);: 1000000 iterations took 7.44s at 134374.010/s
    count($globals->x);: 1000000 iterations took 8.21s at 121806.517/s
    glens@glens-desktop:~/scripts/benchmark/php
    glens@glens-desktop:$ ./sizeof_vs_count.php 
    sizeof($globals->x);: 1000000 iterations took 7.84s at 127475.401/s
    count($globals->x);: 1000000 iterations took 7.79s at 128437.659/s
    glens@glens-desktop:~/scripts/benchmark/php
    glens@glens-desktop:$ ./sizeof_vs_count.php 
    sizeof($globals->x);: 1000000 iterations took 7.53s at 132807.066/s
    count($globals->x);: 1000000 iterations took 7.49s at 133442.192/s