numpy.zeros가 그러한 작은 공간을 차지하는 이유가 궁금합니다.numpy.zeros가 약간의 공간을 차지하는 이유
x = numpy.zeros(200000000)
이 더 메모리 동안을 차지하지
x = numpy.repeat(0,200000000)
는 1.5GB 주위를 차지한다. numpy.zeros는 빈 포인터의 배열을 생성합니까? 그렇다면 cython에서 포인터를 변경 한 후 포인터를 배열에서 다시 공백으로 설정하는 방법이 있습니까? 내가 사용하는 경우 :
x = numpy.zeros(200000000)
x[0:200000000] = 0.0
메모리 사용량이 늘어납니다. 값을 변경 한 다음 원래 파이썬이나 cython에서 numpy.zeros 형식으로 다시 변경하는 방법이 있습니까?
각 어레이가 사용하는 메모리를 어떻게 측정하고 있습니까? 'x = numpy.zeros (200000000)'이면 내 컴퓨터에서'x.nbytes'는'1600000000'입니다. 'x = numpy.repeat (0, 200000000) '의 경우 메모리의 절반이 사용됩니다 (배열을 생성 할 때'float64' 데이터 유형 대신 int32' 데이터 유형이 사용됩니다). –
[Python에서 객체의 크기를 어떻게 결정합니까?] (http://stackoverflow.com/q/449560/2359271) ([this answer] (http://stackoverflow.com/a/)에 특히주의하십시오. 3373511/2359271)) – Air
액티비티 모니터의 변경 사항을 보았습니다. – user3266890