我一直在研究购买一台用于软件开发的笔记本电脑。我的一位同事告诉我,拥有 2.2 GHz 以上的处理器和 7200 RPM 的硬盘是没有意义的。他说,由于硬盘是 7200(目前笔记本电脑中最快的),所以即使你的处理器比 2.2 GHz 快也不会有什么区别。
你们同意吗?如果不同意,那为什么不呢?我想买一台重量轻、速度快的笔记本电脑。提前谢谢大家。
答案1
来自 Google 的一份演示文稿:
L1 缓存引用................................................ 0.5 纳秒
分支预测错误............................................... 5 纳秒
L2 缓存引用.............................................. 7 纳秒
互斥锁定/解锁.............................................. 25 纳秒
主内存引用............................................... 100 纳秒
通过 1 Gbps 网络发送 2K 字节.................... 20,000 纳秒
从内存中顺序读取 1MB ........................ 250,000 纳秒
同一数据中心内的往返.................................... 500,000 纳秒
磁盘寻道......................................................... 10,000,000 纳秒
从磁盘中顺序读取 1MB ................................ 20,000,000 纳秒
发送数据包 CA->Netherlands->CA .................... 150,000,000 纳秒
现在,看看你的磁盘读取速度有多快,并将其与 CPU 操作进行比较?
答案2
你应该购买一台配备最快处理器的笔记本电脑。它还应该配备独立显卡和内存。
不要担心硬盘,因为您几乎可以在任何地方轻松购买替换件,newegg、frys、bestbuy 或您附近的任何计算机商店。
SSD 正在迅速取代笔记本电脑中的普通硬盘,而且每年都变得更快、更可靠。
您提到使用笔记本电脑进行开发。开发工具可以做很多不依赖硬盘的事情。更快的处理器肯定会让人感觉更好。此外,一些开发工具(例如 Visual Studio)受益于独立显卡。尤其是当该卡有自己的内存并且不会窃取笔记本电脑的正常内存时。
我买笔记本电脑时,会选择速度最快的处理器和独立显卡。我会选择内存最少、硬盘最慢的。然后我会从 newegg 等网站购买替换内存和硬盘。原因是笔记本电脑制造商会使用他们能买到的最便宜的配件;此外,他们还会收取高昂的升级费用,而从其他地方购买这些配件总是更便宜。
答案3
虽然对于许多操作而言,就速度而言,磁盘 I/O 是最薄弱的环节,但您在机器上执行的许多活动与硬盘无关 - 而且 CPU 越快,这些任务完成得就越快。
无论如何,除此之外,您以后可以随时将硬盘升级为 SSD,因为升级 CPU 总是更加棘手和困难 - 并且通常在经济上不值得。
答案4
你的同事不知道他在说什么
您在系统上运行的大多数应用程序都会大量使用磁盘上的文件。
基本上,当您运行某个程序时,该程序会被加载到内存中。只要该程序处于活动状态,它就会在内存中生存和运行,并且该程序执行的大多数(如果不是全部)任务都将在内存中执行。
许多正在运行的程序通过使用缓存(一种直接内置于处理器中的更快的中间类型的内存)得到了进一步优化。
规则的例外是从磁盘读取文件(并将缓冲区读到内存)的程序。想想您的文件管理器(例如 Windows 资源管理器)和媒体应用程序,如 iTunes 和 VLC。
更快的 HDD 将使这些任务更快:
- 加载操作系统
- 复制/移动文件
- 加载/保存文件
- 整理磁盘碎片
- 浏览文件
- 观看电影(通常只有在使用其他应用程序进行大量磁盘操作(例如复制文件)时才会出现卡顿)。
除此之外,更快的 HDD 不会带来多大的性能改善。
如果您想提高性能,请购买更快的处理器和更多内存。更快的处理器将使您的计算机能够更快地完成任务。更多内存将使您能够在计算机上运行大量大型应用程序,而不会因内存不足而导致操作系统交换页面文件而导致性能下降。
4GB 内存足以满足大多数常规计算机用途。2.2GHZ 足以满足大多数计算机用途(即软件开发)但添加核心/处理器将使您的计算机仍然具有“快速”的感觉,即使一个程序占用了处理器时间,因为该应用程序可以隔离到操作系统不运行的处理器(您的操作系统已经优化了多核/多处理器任务管理,因此您甚至不必考虑它)。
多核/多处理器性能更佳,因为它们允许您的计算机同时执行多项操作。在多核/多处理器系统出现之前,您的计算机实际上只能同时执行一项操作。为了让用户相信系统同时执行多项操作,它会非常快速地在所有程序之间切换处理。有多快?您的屏幕每秒每隔一行重绘 60 次,任务切换的速度要快得多。问题是,程序之间的所有切换都需要时间(并且会影响性能)。添加核心/处理器可以减少任务切换,从而提高性能(除了设计为仅使用一个核心的较旧且设计不佳的应用程序)。
简而言之,你的同事根本不知道他在说什么。最好忽略他提供的有关计算机的任何建议。
如果您真的有兴趣学习软件开发,您应该非常熟悉所有这些术语(它们的含义、它们如何影响程序的性能等)。
有关这些主题的一系列讲座内容丰富且内容丰富看一下这个详细了解处理器、磁盘访问、线程、虚拟内存、操作系统如何处理任务切换等,对于成为一名优秀的程序员至关重要,因为这些主题将要影响你所编写的每个程序。
如果您正在学习 Web 开发,这些内容仍然很重要,但您对它的控制力会较弱,因此,尽可能多地学习网络知识可能是一个更好的主意。