运行Python和扩展的amd64版本有什么好处?(大量的扩展compiled for amd64 here。)我有一个i5处理器和64位的Win7,所以它看起来是合适的。但它听起来也像是But、beta、无支持等。
它是否真的提供了性能优势?在哪些领域?我运行的是SciPy、NumPy等。我偶尔会遇到32位Python出现“内存不足”的错误,而且我的机器有4 GiB的内存。
如果不存在64位版本的win32包,是否可以将其安装在64位Python基础上?
发布于 2010-12-31 11:25:29
使用64位Python的主要理由是,您可以访问超过2 2GB的主内存,例如,如果您有大型字典、列表或长字符串。这需要你的系统中实际有那么多的内存才能实用。
第二个影响是,在AMD64模式下,CPU有更多的寄存器,因此结果代码的运行速度可能会稍快一些(对于整数操作)。
Windows上64位模式的Python肯定不是beta或不受支持的。它可能有but,但只有在你确实有非常大的数据结构的情况下。64位Python已经有15年的历史了(虽然不是在Windows上)。
发布于 2010-12-31 11:26:03
与其他所有64位程序一样的优势:有大量的进程空间,可以访问更多更大的寄存器(至少对于VM和C模块而言)。但是不需要,你需要找到64位版本的C模块。
发布于 2010-12-31 11:29:26
通常情况下,使用64位代码可以获得正常的增益。我没有发现任何最新的基准测试,但是在引入x64的时候,在64位上运行的代码可能比在x86硬件上的32位快30% --这一差距肯定随着时间的推移而以某种方式缩小了,但可能仍然更快。
此外,如果您也需要的话,可以透明地使用超过4 4GB的内存,这对您很有好处。
然而,请注意,64位的速度提升是由于awfull 32位传统ABI: enve是一个运行在32位的核心i7,它具有与1987年的80386芯片中相同的4个通用寄存器(以及其他一些寄存器)。64位abi引入了更多的(实数)通用寄存器,这使得它可以获得速度增益。否则,64位代码只占用两倍的高速缓存,这使得它在其他体系结构中,如PPC,实际上比32位代码慢。
https://stackoverflow.com/questions/4567856
复制相似问题