Mak*_*ler 6 c++ performance design-patterns
有没有人知道任何有关高性能应用中设计模式的最佳实践或理论的网站/书籍/文章?似乎很多模式使用间接/抽象/封装的方式可能会影响计算密集型代码的性能.Head First Design Patterns甚至GoF提到了许多模式的性能可能性,但没有更具体的建议如何处理它.
我很惊讶我们不会问你有什么性能问题!
根据我的经验,性能问题通常与特定条件和情况有关.另一方面,设计模式是更一般和抽象问题的解决方案.在同一文本中处理两者似乎有点尴尬:如果作者可以比较设计模式的性能,可能会有多少"非图案化"解决方案?当性能问题很普遍时,肯定已经有了解决它们的模式:Flyweight就是一个很好的例子.
使用设计模式所施加的惩罚是有限的,非常小的集合:虚拟调用的引入,由于委托而增加的延迟,由于对象的扩散而导致的额外内存消耗等等.如果在分析之后,您发现这些是造成您的困境的原因,那么有一些已知的方法可以将它们最小化.
了解模式也可能有助于解决性能问题.首先,有人已经提到模式可以解决较小位的问题:这可能会轻松查明问题的根源并隔离丑陋但高性能的代码.他们还为开发人员创建了推理和期望的框架.如果由于性能原因必须引入偏差,那么很明显:"除了这里,我们放弃X并做Y以提高性能,这是一个责任链."它们是在需要时被破坏的规则.
(唉,有一个非常好的模式可以获得良好的表现:测量,精确定位,修复.)
| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |