【发布时间】:2009-07-22 23:33:20
【问题描述】:
随着今天的代码越来越复杂,代码需要设计成可维护的——这意味着易于阅读和理解。
话虽如此,我还是忍不住想起了几年前运行的程序,例如 Winamp 或一些您需要高性能程序的游戏,因为您的 486 100 Mhz 无法播放如此漂亮的 mp3消耗所有 CPU 周期的 mp3 播放器。
现在我运行媒体播放器(或其他),开始播放 mp3,它占用了我四个核心之一的 25-30%。来吧!!如果 486 可以做到,播放要占用这么多处理器来做同样的事情吗?
我自己也是一名开发人员,我总是建议:保持代码简单,不要过早地优化性能。似乎我们已经从“试图让它使用尽可能少的 CPU”到“如果它不占用太多 CPU 就可以了”。
那么,您认为我们忽略优化会降低性能吗?
【问题讨论】:
-
我怀疑代码清晰是媒体播放器的问题。
-
虽然我认为这可能是一个值得回答的问题,但我觉得有点令人困惑的是,您对应用程序为何缓慢的第一个猜测是由于开发人员编写了清晰的代码。 :) 总的来说,尽管我认为很多人将一般的“软件膨胀”(一个相当模糊的术语)归因于某些现代应用程序的缓慢。
-
我不是说是原因,而是到处(包括stackoverflow)有人问,我应该使用这个还是那个来提高性能?答案几乎总是,“不,在出现问题之前不要关心性能”。因此,我们只将性能视为错误,而不是功能......
-
我认为很多 Stackoverflow 程序员都在做商业应用程序,你需要有可维护性。其他 Stackoverflow 程序员做网络,其中上市时间是关键。游戏程序员总是担心代码速度。首先你让它工作,然后你让它快速。
-
您是否尝试过在负载下运行相同的测试?也许“媒体播放器”注意到有更多可用 CPU 并试图提供最丰富的播放?