单例类实例方法与PHP中静态类方法的性能?

Mik*_*kel 6 php performance singleton static-methods class-design

我对客观分析感兴趣,哪个性能更高; 调用单例类的实例方法或静态类的方法.我已经看过这个,所以我不是在寻找关于两者之间差异的讨论,或者讨论哪个是"更好".我只对两者之间的相对表现感兴趣.提前致谢.

-麦克风

And*_*den 18

检查此图表:)

替代文字

抓住这篇文章

  • 任何人都可以制作精美的图表.没有关于使用的测试设置的信息,它是没有意义的.你至少可以提供一个链接到你从哪里得到这个. (6认同)
  • 我刚刚添加了文章的链接 (4认同)
  • 作为一方,测试的作者应该清楚地说明他每次都在调用循环`TestSingleton :: getInstance()`而在现实世界的应用程序中,Singleton实例作为参数传递给类方法(这是一个Singleton设计的优势与静态类[http://stackoverflow.com/questions/6829609/php-singleton-vs-full-static-class-when-use-what/6829705#6829705]因此这些类不会每次调用`getInstance()`因为它们已经存储了对Singleton对象的引用... (2认同)

irc*_*ell 17

除非你在紧密的循环中调用它们(意味着没有其他重要的代码,呼叫的开销很大)数千或数十万次,所以不要担心它.差异很可能不到一微秒,所以不值得烦恼.只需做出最好的建筑选择......

Premature optimization is the root of all evil...

编辑:对于所有的downvoters,这是我写的一篇博客文章,描述了为什么这样的性能比较几乎没用.

  • @Mike使用Wordpress并打扰性能是一个悖论.ircmaxell给了你最明智的建议.如果您真的关心代码的性能,请分析应用程序以找出瓶颈所在的位置,而不是假设它们位于您认为的位置.学术上的x比你不会让你的代码运行得更快. (5认同)
  • -1:没有回答这个问题,而是反过来说.这个问题与WordPress中的使用有关; 应该插件使用静态类来封装类或类的实例,所以它可以是数千次或更多次.在这种情况下不需要实例,所以我选择静态但有些静态方法太慢了.我不知道事实是什么,所以我来到这里寻找答案.还是不知道答案...... (4认同)
  • 我确实回答了这个问题.我说不要担心.差异可能很小.做出更好的建筑选择.无论哪种方式都是微优化,所以不用担心...... (2认同)
  • 这可能不是一个学术问题? (2认同)