如果只考虑 13寸的 MacBook 的话,建议楼主升级内存。不过我认为如果一般使用的话 8G 的内存已经足够了,所以题主也可以考虑不进行任何升级,或者加 1400 元购买同时配备四核 i7 和 16G 内存的 15 寸 Retina MacBook Pro。
首先是为什么不建议升级 CPU。因为 MacBook Pro 上的 2.9GHz 的双核 i5 和 3.1GHz 的双核 i7 区别真的不大,GeekBench 的 64 位双核测试中使用 i7 的机型只比 i5 的机型高出 100 多分,如下图,而且两个 CPU 集成的显示卡都是 Iris Graphics 6100,这种差异我认为是不值得花 1000 多块来升级的。
然后是为什么建议升级内存。先说一下结论,升级内存会允许计算机在保持流畅性的同时运行更多的程序,减少卡顿和死机的几率。如果你在 Mac 中运行虚拟机的话,这一点是尤其明显的。
如果要了解一下升级内存为什么可以带来这些提升,题主可以先简单了解一下计算机存储的层级以及程序运行的原理。
计算机存储系统中,速度最快的是包含在 CPU 中的寄存器(Register),然后就是一二三级缓存(L1/L2/L3 Cache),然后是主存(也就是内存),这层以上都可以被 CPU 直接读取。然后是外存(硬盘,U盘等),最后是网络。越往下的层级支持的存储容量越大,价格越低,速度越慢。
一般一个程序的源代码被编译后,会生成包含机器可读的二进制代码指令的可执行文件(比如 Windows 中的 exe 文件和 OS X 中被赋予可执行权限的二进制文件)。这个可执行文件平常被存储在计算机的外部存储器(比如机械硬盘、固态硬盘或者U盘)中,一旦被执行(比如双击一个 exe 文件或者 Mac 上的 app 文件),这个文件中的二进制指令就会被传送到内存中去,然后由 CPU 来访问内存,读取一条条指令,根据指令从相应的寄存器中获取或写入数据,并完成运算。需要经常使用的指令会存储在比内存更快的 CPU 的一二三级缓存中,以提高调用速度。运算的结果会由 CPU 返回内存中,并在需要存储时由内存存入硬盘。这个过程在一个程序运行时会以极快的速度不断运行。
所以,做一个简单的比方的话,CPU 就是正在进行食品加工的工人,加工所需的原材料分别被放在工人面前的盘子(寄存器)里,工人桌子下的抽屉(各级缓存)里,房间的冰箱(内存)里,房间的地下室(硬盘)里和临镇的粮仓(网络)里。CPU 的性能决定了工人能以多块的速度加工食物,而整个加工流程的速度不光取决于工人的能力,还取决于原材料运送的速度。如果原材料运送的速度太慢,那么即使有超强的加工能力,工人也只能干坐着什么都干不了(也就是白白浪费了 CPU 的时钟频率)。所以,应当尽力确保在工人面前的原材料尽可能多,减少从地下室和临镇搬运的次数。由于盘子和抽屉的大小无法更改(寄存器和缓存的大小是由 CPU 生产时直接确定的,无法手动添加),所以可以把房间里的冰箱换成对开门的(也就是增大内存),这样就可以把更多的原材料存在冰箱里,工人便能从房间中得到更多原材料。如果冰箱不够大,一会儿就满了,那么就只能从地下室去取材料,再运进房间,放入冰箱以供工人使用。这样就会极大地降低速度。
以上的例子便说明了内存的重要性。较大的内存会为程序运行时提供更多的空间,减少对磁盘的访问次数。由于内存比硬盘的存取速度要快得多,并且可以被 CPU 直接读取,所以会对电脑的速度提高有比较大的帮助。
我觉得内存比较好,因为我们普通用户不需要那么好的处理器,除非你是需要重度计算的用户(虽然也不需要那么大内存,但对mac来说占用内存还是挺大的,以后软件占内存会越来越大),所以一定要两者选一个我觉得普通人就加内存吧~