無論是電腦端的因特爾,還是手機端的高通、現在的華為麒麟,都在飛速發展
硬件的運算速度,快了100倍不止,為何我們沒覺得快多少呢?
那是因為,軟件的與時俱進抵消了大部分硬件性能的提升,是否杯具啊 ?
軟件調到足夠複雜,10年前的普通軟件,一樣能搞死今天的所有處理器
算法優化是個學問,做的就是在效果和性能上取得一個均衡,而硬件也不斷提升性能,來滿足用戶實際使用效果。
舉例說明
孤島危機, 06年推出時,它只開啟了它所用引擎CryEngine2的7成左右性能,卻幹掉了當時大部分的高端PC!
怎麼叫幹掉呢?就是當年流行的1920x1080分辨率下開啟16x抗鋸齒、最高特效,只有極端的個人PC才能流暢運行,因此得一美名曰“顯卡危機”。
放到8年後的現在,是不是稍微好點的PC都能流暢運行了?
不一定!它依然可以發揮它的威力,只不過標準不是1080和16x了,是3840×2160和32x了,或者更高,在這麼高的分辨率下照樣能弄死大部分顯卡。
所以軟件相對硬件其實不存在發展速度,兩者一直是相互適應的,歸根到底要看硬件性能。
如果軟件足夠複雜,可以調到全世界所有顯卡一起跑都沒法流暢運行的程度
摩爾定律,安迪比爾定律,能夠說明軟硬件彼此之間的關係
摩爾定律,是由英特爾創始人之一戈登·摩爾提出來的。
其內容為:集成電路上可容納的電晶體數目,約每隔24個月便會增加一倍;經常被引用的“18個月”是由英特爾首席執行官David House所說:預計18個月會將芯片的性能提高一倍(即更多的晶體管使其更快)。
安迪-比爾定理 --- 把原本屬於耐用消費品的電腦、手機等商品變成了消耗性商品,刺激著整個 IT 領域的發展。
摩爾定理,給所有的計算機消費者帶來一個希望,如果今天嫌計算機太貴買不起,那麼等十八個月就可以用一半的價錢來買。
要真是這樣簡單的話,計算機的銷售量就上不去了。
需要買計算機的人會多等幾個月,已經有計算機的人也沒有動力更新計算機。
其它的 IT 產品也是如此。
那麼,是什麼動力促使人們不斷地更新自己的硬件呢?
IT 界把它總結成安迪-比爾定理,即比爾要拿走安迪所給的(What Andy gives, Bill takes away)。
安迪,是原英特爾公司 CEO 安迪·格魯夫(Andy Grove),比爾就是微軟的創始人比爾·蓋茨。
在過去的二十年裡,英特爾處理器的速度每十八個月翻一番,計算機內存和硬盤的容量以更快的速度在增長。
但是,微軟的操作系統等應用軟件越來越慢,也越做越大。
所以,現在的計算機雖然比十年前快了一百倍,運行軟件感覺上還是和以前差不多
而且,過去整個視窗操作系統不過十幾兆大小,現在要幾千兆,應用軟件也是如此。
雖然新的軟件功能比以前的版本強了一些,但是,增加的功能絕對不是和它的大小成比例的。
因此,一臺十年前的計算機能裝多少應用程序,現在的也不過裝這麼多,雖然硬盤的容量增加了一千倍。
更糟糕的是,用戶發現,如果不更新計算機,現在很多新的軟件就用不了,連上網也是個問題。而十年前買得起的車卻照樣可以跑。
這種現象,乍一看來是微軟在和大家做對
實際上,蓋茨本人和其它廠商也不想把操作系統和應用程序搞得這麼大。
當然,我們知道微軟現在的.NET 比二十年前的 BASIC 功能要強的多,但是否強了一萬倍,恐怕沒有人這麼認為。
這說明,現在軟件開發人員不再像二十年前那樣精打細算了。
但是,要求軟件工程師使用匯編語言編程,工作效率是極低的,而且寫出的程序可讀性很差,不符合軟件工程的要求。
今天,由於有了足夠的硬件資源,軟件工程師做事情更講究自己的工作效率,程序的規範化和可讀性等等。
另外,由於人工成本的提高,為了節省軟件工程師寫程序和調程序的時間,編程的語言越來越好用,同時效率卻越來越低。
比如,今天的 Java 就比 C++ 效率低得多,C++ 又比二十年前的 C 效率低。因此,即使是同樣功能的軟件,今天的比昨天的佔用硬件資源多是一件在所難免的事。
雖然,用戶很是煩惱,新的軟件把硬件提升所帶來的好處幾乎全部用光,但是在 IT 領域,各個硬件廠商恰恰是靠軟件開發商用光自己提供的硬件資源得以生存。
舉個例子,到2005年上半年為止,因為微軟新的操作系統 Vista 遲遲不能面市,從英特爾到惠普、戴爾等整機廠商,再到 Marvell 和 Seagate 等外設廠商,全部銷售都受到很大的影響,因為用戶沒有更新計算機的需求。
這些公司的股票不同程度地下跌了 20% 到 40%。
去年底,微軟千呼萬喚始出來的 Vista 終於上市了,當然微軟自己的業績和股票馬上得到提升,蕭條了一年多的英特爾也在今年初扭轉的頹勢,當然惠普和戴爾也同時得到增長。
今年,這三家公司的股票都有大幅度上漲。
接下來不出意外的話,該輪到硬盤、內存和其它計算機芯片的廠商開始復甦了。
Vista 相比前一個版本 XP,也許多提供了 20% 的功能,但是它的內存使用幾乎要翻兩番,CPU 使用要翻一番,這樣,除非是新機器,否則無法運行 Vista。
當然,用戶可以選擇使用原來的操作系統 XP,但是很快的,微軟和其它軟件開發商會逐漸減少對 XP 系統的支持,這樣就逼著用戶更新機器。
可以看出,個人電腦工業整個的生態鏈是這樣的
以微軟為首的軟件開發商,吃掉硬件提升帶來的全部好處,迫使用戶更新機器,讓惠普和戴爾等公司收益,而這些整機生產廠,再向英特爾這樣的半導體廠訂貨購買新的芯片、同時向 Seagate等外設廠購買新的外設。
在這中間,各家的利潤先後得到相應的提升,股票也隨著增長。
各個硬件半導體和外設公司,再將利潤投入研發,按照摩爾定理制定的速度,提升硬件性能,為微軟下一步更新軟件、吃掉硬件性能做準備。
當然,微軟和其它軟件開發商,在吃掉大部分硬件提升好處的同時,或多或少地會給用戶帶來一些新東西。
閱讀更多 環球蒼蠅 的文章