У меня были проблемы с производительностью при перемещении приложений между 32-битной Windows 7 и 64-битной Windows Server 2008, обе с одинаковыми процессорами. Я написал тривиальную программу для проверки производительности распределения памяти, чтобы увидеть разницу. Это показывает, что создание списков на 64-битных окнах занимает почти в 10 раз больше времени, чем на 32-битных окнах. Использование python 2.6.5 на 32 и 2.6.6 на 64. Что может быть причиной проблемы? Я написал небольшую программу на '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
Есть ли какая-то нерешенная проблема с Python и производительностью памяти в 64-битных окнах?
64 Установка Windows 2008 R2 Server
4 процессора, 16 ГБ памяти, 20 ГБ диска C, сеть 10 ГБ/с Xeon X5570 @ 2,93 ГГц
32 ПК с Windows 7
2 ЦП, 2 ГБ памяти, диск C 500 ГБ, сеть 1 Гбит/с Core 2 duo @ 3,00 ГГц