我正在使用php/mysql编写的网站上工作.当我第一次写它的时候,意大利面很多嵌入了html之类的php - 很难维护.
我用OOPS重写了一个很好的模块化结构,现在它更容易维护和扩展.
但是,当使用webwait和siege 测试站点性能时,较新的,结构更好的版本似乎比spaghetti代码版本运行和加载更慢.
装载时间差异接近1秒 - 2.39秒vs 3.81秒
除了PHP代码之外没有其他任何改变 - 不是js,而不是css
那么这里的问题是什么?我应该恢复旧代码吗?这是否发生在其他人身上?
编辑:
我想知道的是其他人如何处理这个问题.
S.L*_*ott 14
"我应该恢复旧代码吗?"
如果我说恢复,你会说"看,我知道OO是一个被炸的单位,没有人可以制作一个有效的OO应用程序." 那是错的.
如果我说不回复,你会说,"但它的速度慢得令人无法接受."
那么,还剩下什么?
你必须写得更好.直走.重写你的OO,以便它真正起作用.OO不是"魔术" - 它不保证任何东西.有糟糕的面向对象程序和良好的面向对象程序.在你的情况下,你显然还有改进的余地.
因此,获取一些性能分析工具,找出时间已经过去的地方.
另外,不要"优化" - 重写.
很有可能你正在进行某种搜索会花费很多时间.消除搜索.使用更好的容器和集合(哈希映射,集合等)
描述代码.我不知道在PHP中如何做到这一点,但它是解决正在发生的事情的唯一合理方法.
有时使代码更优雅会对性能产生不利影响,但通常不会达到这种程度.你需要找出时间在哪里,并解决这个问题.