並行,是個僞命題

松本行弘在《代碼的將來》中說,將來的計算機將主要靠並行來提高效率,我不這樣認爲。算法

首先計算機的架構中,須要提高的部分還不少不少。數據庫

寄存器的讀寫速度比緩存要快不少,而緩存的讀寫速度又是內存的幾個數量級。而硬盤的讀寫更是比內存慢了不少。而 CPU 一般不是在作一件事情,在操做系統中,CPU 同時在作的事情很是多,圖形界面,系統服務,網絡服務,當你知道你的電腦中有 N 個內核的時候,不要着急,還輪不到你去調度它們。你所作的,仍是提高你的代碼的效率,在算法上提高功力。由於適合並行的應用其實很少:分佈式數據庫的讀取,雲計算,這些都是爲那些想成爲網絡巨鱷的狂人們預備的,這些人想把本身的意志力強制放在更多的資源上,因而催生了同時駕馭更多資源的架構。而咱們,真正須要這些東西嗎?緩存

將來的計算機,計算機的核心數固然會顯著上升,但寄存器的數量也會更多,而緩存的容量也會更大,而內存的存取速度和容量也會上升,硬盤呢?讀取速度的提高才是關鍵的,而網絡速度的提高也能讓計算機的速度感受快上很多。而你的程序,將愈來愈可能單獨分配一個 CPU 來連續的運行。那時候的一個 CPU 時間,將真正的縮短。等到了單核計算沒法提升的時候,緩存技術將登上舞臺,用空間換時間,這個時候,CPU 的核心數量依舊不是限制計算能力的關鍵。網絡

咱們真的須要更快嗎?架構

相關文章
相關標籤/搜索