- UID
- 24451
- 注册时间
- 2016-3-30
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 精华
- 阅读权限
- 20
- 听众
- 收听
|
发表于 2016-11-8 23:15:50
|
显示全部楼层
64bit软件和32bit软件最大的区别是64bit的软件可以同时操作大于4GB的内存。注意这里的内存指的是地址空间,而不是物理内存。比如现在有一个10GB的数据库需要进行排序。64bit的软件可以malloc一个10GB的空间把整个数据库“放进”内存然后使用任意经典排序算法,而32bit的软件在malloc时就会崩溃(out-of-memory)。所以32位软件的程序员只能使用复杂的算法显式的分块读入,局部排序,写回数据库,然后重复。这样不仅程序复杂难写,程序员swap内存和文件的算法效率可能也不如OS自动处理来的高效。另一方面,64bit软件巨大的内存空间也可能加速物理内存的消耗,增加寻址的开销,因此未必总是能够提高性能。
所以。还是物理内存大才能解决问题 |
|