XSLT存档  

不及格的程序员-八神

 查看分类:  ASP.NET XML/XSLT JavaScripT   我的MSN空间Blog
posts - 174,  comments - 1172,  trackbacks - 0

作者:不及格的程序员-八神

我在前一篇文章(VS2010是用什么编译的?)中简单描述了Visual Studio IDE 开发环境构建方式.但话题并未就此结束,此文继续将介绍时到今天(2010年)Visual Studio系列产品为何仍没有对应的x64位版本原因.

64位的操作系统

尽管x64运算离我们非常近了,我们新购置的个人电脑几呼全部配备64位CPU,但除了应用在服务器端,这些cpu很少运行在真正64位的系统中.

也就是说目前经常被我们使用到的64位操作系统多是对服务器处理进行优化的,而对桌面应用64位的操作系统普及率并不高.

不管怎样,即使你已经在日常工作中使用64位的操作系统,意味者你将拥有更多的困惑,首先是电脑硬件部分的驱动程序.

另外即使你电脑内存拥有4G或8G内存,装上64位应用程序,也不见得会很快,因为64位的系统真的很耗内存.

操作系统内每时每刻都会发生线程的上下文切换,然而由于需要保存相对于32位的64位cpu的更多寄存器内容,系统内核栈对内存也需要更多.

x64位操作系统对调用约定进行的修定,增加了新的寄存器用于传递参数.

编程语言

前面提到x64位操作系统下对内存的需求将会增多,原因在于编写x64位应用程序本身就存在高昂的代价.

比如如果你用C++/C#语言的话,本来在32位系统中我们的long型数据在内存占用32位空间,但是到64位系统中它们将增长一倍.内存指针全部将是64位.

而且有时需要对内存中的数据进行优化要进行数据对齐,更加剧了内存的消耗.

cpu缓存

然而相对于目前主流应用程序的32位数据,64位的缓存数据,在cpu 1级,2级cache中的缓存数据将减半.所以最终用户需要购买具有更大缓存的cpu,同时也将掏更多的钱.

结论

集以上所言,x64位系统好像离我们又远了,怎么这么难呢?当初cpu由8位,到16位,再到32位有这么难吗? 我认为这只是暂时的相对.

而且微软目前也没有完全准备好推出64位版的Visual Studio开发工具,至少里面还有许多算法是依赖32位cpu的特性作的,它们的开发人员也在想办法将它们迁移到新平台中.

但情况也在随时间在转变,软件开发人员的日子也将越来越好过,就像.NET CLR4.0的调试模型的转变,是一点点的变化最终给你全新的体验,同时还保持着高度兼容性.

Visual Studio是非常重量级产品,所以没有足够需求以及时间,64位版发行的还不是很迫切,必境目前VS2010可以很好的运行在x64位系统的开发与调试中,而且不会影响性能,何乐而不为呢...

posted on 2010-12-22 16:10 不及格的程序员-八神 阅读(...) 评论(...) 编辑 收藏