Visual Studio 2010為什么沒有64位版本?
我在前一篇文章(Visual Studio 2010是用什么編譯的?)中簡單描述了Visual Studio IDE 開發(fā)環(huán)境構(gòu)建方式.但話題并未就此結(jié)束,此文繼續(xù)將介紹時(shí)到今天(2010年)Visual Studio系列產(chǎn)品為何仍沒有對應(yīng)的x64位版本原因.
64位的操作系統(tǒng)
盡管x64運(yùn)算離我們非常近了,我們新購置的個(gè)人電腦幾呼全部配備64位CPU,但除了應(yīng)用在服務(wù)器端,這些cpu很少運(yùn)行在真正64位的系統(tǒng)中.
也就是說目前經(jīng)常被我們使用到的64位操作系統(tǒng)多是對服務(wù)器處理進(jìn)行優(yōu)化的,而對桌面應(yīng)用64位的操作系統(tǒng)普及率并不高.
不管怎樣,即使你已經(jīng)在日常工作中使用64位的操作系統(tǒng),意味者你將擁有更多的困惑,首先是電腦硬件部分的驅(qū)動(dòng)程序.
另外即使你電腦內(nèi)存擁有4G或8G內(nèi)存,裝上64位應(yīng)用程序,也不見得會(huì)很快,因?yàn)?4位的系統(tǒng)真的很耗內(nèi)存.
操作系統(tǒng)內(nèi)每時(shí)每刻都會(huì)發(fā)生線程的上下文切換,然而由于需要保存相對于32位的64位cpu的更多寄存器內(nèi)容,系統(tǒng)內(nèi)核棧對內(nèi)存也需要更多.
x64位操作系統(tǒng)對調(diào)用約定進(jìn)行的修定,增加了新的寄存器用于傳遞參數(shù).
編程語言
前面提到x64位操作系統(tǒng)下對內(nèi)存的需求將會(huì)增多,原因在于編寫x64位應(yīng)用程序本身就存在高昂的代價(jià).
比如如果你用C++/C#語言的話,本來在32位系統(tǒng)中我們的long型數(shù)據(jù)在內(nèi)存占用32位空間,但是到64位系統(tǒng)中它們將增長一倍.內(nèi)存指針全部將是64位.
而且有時(shí)需要對內(nèi)存中的數(shù)據(jù)進(jìn)行優(yōu)化要進(jìn)行數(shù)據(jù)對齊,更加劇了內(nèi)存的消耗.
cpu緩存
然而相對于目前主流應(yīng)用程序的32位數(shù)據(jù),64位的緩存數(shù)據(jù),在cpu 1級(jí),2級(jí)cache中的緩存數(shù)據(jù)將減半.所以最終用戶需要購買具有更大緩存的cpu,同時(shí)也將掏更多的錢.
結(jié)論
集以上所言,x64位系統(tǒng)好像離我們又遠(yuǎn)了,怎么這么難呢?當(dāng)初cpu由8位,到16位,再到32位有這么難嗎? 我認(rèn)為這只是暫時(shí)的相對.
而且微軟目前也沒有完全準(zhǔn)備好推出64位版的Visual Studio開發(fā)工具,至少里面還有許多算法是依賴32位cpu的特性作的,它們的開發(fā)人員也在想辦法將它們遷移到新平臺(tái)中.
但情況也在隨時(shí)間在轉(zhuǎn)變,軟件開發(fā)人員的日子也將越來越好過,就像.NET CLR4.0的調(diào)試模型的轉(zhuǎn)變,是一點(diǎn)點(diǎn)的變化最終給你全新的體驗(yàn),同時(shí)還保持著高度兼容性.
Visual Studio是非常重量級(jí)產(chǎn)品,所以沒有足夠需求以及時(shí)間,64位版發(fā)行的還不是很迫切,必境目前Visual Studio 2010可以很好的運(yùn)行在x64位系統(tǒng)的開發(fā)與調(diào)試中,而且不會(huì)影響性能,何樂而不為呢...
原文鏈接:http://www.cnblogs.com/ioriwellings/archive/2010/12/22/1913983.html
【編輯推薦】