松本行弘在《代码的将来》中说,将来的计算机将主要靠并行来提高效率,我不这样认为。算法
首先计算机的架构中,须要提高的部分还不少不少。数据库
寄存器的读写速度比缓存要快不少,而缓存的读写速度又是内存的几个数量级。而硬盘的读写更是比内存慢了不少。而 CPU 一般不是在作一件事情,在操做系统中,CPU 同时在作的事情很是多,图形界面,系统服务,网络服务,当你知道你的电脑中有 N 个内核的时候,不要着急,还轮不到你去调度它们。你所作的,仍是提高你的代码的效率,在算法上提高功力。由于适合并行的应用其实很少:分布式数据库的读取,云计算,这些都是为那些想成为网络巨鳄的狂人们预备的,这些人想把本身的意志力强制放在更多的资源上,因而催生了同时驾驭更多资源的架构。而咱们,真正须要这些东西吗?缓存
将来的计算机,计算机的核心数固然会显著上升,但寄存器的数量也会更多,而缓存的容量也会更大,而内存的存取速度和容量也会上升,硬盘呢?读取速度的提高才是关键的,而网络速度的提高也能让计算机的速度感受快上很多。而你的程序,将愈来愈可能单独分配一个 CPU 来连续的运行。那时候的一个 CPU 时间,将真正的缩短。等到了单核计算没法提升的时候,缓存技术将登上舞台,用空间换时间,这个时候,CPU 的核心数量依旧不是限制计算能力的关键。网络
咱们真的须要更快吗?架构