Python速度32位64位Windows问题

在使用类似处理器的32位Windows 7和64位Windows Server 2008之间移动应用程序时,我遇到了性能问题。 我写了一个简单的程序来testing内存分配的性能,看看有什么不同。 这表明在64位上创build列表几乎需要32位窗口的10倍。 在64上使用python 2.6.5,在64上使用2.6.6。什么可能导致这个问题? 我写了一个“c”程序来做同样的事情,它显示了64位服务器的运行速度。 那么是怎么回事?

#silly python memory allocation test from datetime import datetime import random d = datetime.now() listo = [1] * 300000 del listo print datetime.now()-d d = datetime.now() listo = [1] * 3000000 del listo print datetime.now()-d d = datetime.now() listo = [1] * 30000000 print datetime.now()-d 

结果在32

 0:00:00.002000 0:00:00.024000 0:00:00.166000 

结果64

 0:00:00.031000 0:00:00.156000 0:00:02.672000 

在64位窗口中是否存在Python和内存性能方面的突出问题?

64 Windows 2008 R2服务器设置

4个CPU,16GB内存,20GB C盘,10GB /秒networking至强X5570 @ 2.93GHz

32个Windows 7电脑

2个CPU,2GB内存,500GB C盘,1 Gb / snetworkingCore 2 duo @ 3.00ghz

我不知道为什么这么长,但是应该多一点时间,因为在这个例子中,程序在64位模式下分配了两倍的内存,就像32位模式一样,因为python使用32/64位指针在列表中。

当你还在使用32位数据类型时,这在C中可能会有所不同。

问题是由在Windows服务器上使用虚拟机软件造成的。

我有另一个Python 2.7和64位的问题。 我运行一个程序,在32位的Python给一个较小的计算机内存溢出。 我感兴趣的是如果我的大内存将被使用。 当然是的。 最多10 GB,机器挂起。 我不得不切换电源并重新启动计算机。