Questions tagged «oop»

5
出色的软件设计会降低20%的性能
我正在编写一个用于稀疏矩阵计算的小型库,以此来教自己充分利用面向对象的编程。我一直在努力建立一个不错的对象模型,其中各部分(稀疏矩阵和描述其连接结构的图形)之间的耦合非常松散。我个人认为,该代码具有更大的可扩展性和可维护性。 但是,它也比我使用钝器要慢一些。为了测试具有此对象模型的权衡,我编写了一个新的稀疏矩阵类型,该类型打破了基础图的封装,以查看运行的速度有多快。 起初,它看起来很暗淡。我曾经为之骄傲的代码比没有任何精美软件设计的版本慢60%。但是,我能够进行一些低级的优化-内联一个函数并稍微改变一个循环-完全不需要更改API。有了这些更改,现在它仅比竞争对手慢20%。 这使我想到一个问题:如果这意味着我有一个不错的对象模型,我应该接受多少性能损失?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.