哪些硬件因素影响程序速度?[关闭]


0

我想要一个更快的笔记本电脑进行编码(主要是C ++和Python程序),但不知道哪些因素会影响程序运行时。它主要是CPU速度和RAM?超线程?固态硬盘?

例如,我喜欢在Project Euler等网站上玩,有时候当我无法找到更快的算法时,我需要制作一个半暴力程序。如果我不得不求助于此,我希望程序尽可能快。


欢迎来到超级用户!在超级用户和所有StackExchange站点中,购物或产品推荐被视为非主题和开放式,有时甚至过于本地化。尝试以不要求产品的方式改写您的问题,而是更多的流程; 这将有助于保持主题
加拿大卢克

@Luke我刚建议编辑删除“你推荐什么”位。问题的核心(影响速度的因素)一个有效的问题。
cpast

我于
2013年

@cpast我不能不投票关闭,但现在这不是硬件推荐的问题,只要3个其他3K +用户没有VTC,它就会消失
加拿大卢克

Answers:


0

它在很大程度上取决于应用程序的类型及其作用,但对于Project Euler问题,执行速度在很大程度上取决于:

  1. 处理器的运行速度,
  2. 代码(尤其是循环)是否可以完全驻留在处理器缓存中,以及
  3. 算法是否可以并行化(即使用多个处理器内核可以解决问题吗?)

其他类型的程序可能取决于其他因素,如硬盘速度和内存速度。由于游戏严重依赖于图像处理,因此游戏机倾向于拥有比普通游戏机更好的视频卡。


并行化是自动发生的事情,还是你在算法中编码的东西?
DoubleBass

它不会自动发生。大多数现代编程环境提供诸如任务或线程之类的东西来并行化计算。有些算法比其他算法更容易实现并行化。在所有其他条件相同的情况下,函数式编程语言比命令式语言更容易并行化。
罗伯特·哈维

我知道OP在技术上已经说过不要求硬件recs,但它确实有助于我开始 - 你会建议寻找具有固态,快速CPU(什么样的?),大量内存等的东西?
DoubleBass 2013年

除非您正在进行高级科学数字处理,否则任何具有多个处理器核心的现成计算机(现在大多数都是这样)应该足够了。
罗伯特·哈维

许多问题确实涉及大量数字运算,是的
DoubleBass 2013年
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.