Тем не менее, время в профилировании кажется странным. После загрузки программы следует подождать секунду и распечатать время. Тем не менее, размер памяти увеличивается после этой секунды?
Код: Выделить всё
import time
from datetime import datetime as dt
import memray
import numpy as np
def main():
time.sleep(1)
print(dt.now())
m_ = np.load(
os.path.join(os.path.expanduser('~'), 'test_data/max_compression_chunk.npy'),
mmap_mode=None,
)
print(dt.now())
time.sleep(1)
print(dt.now())
if __name__ == "__main__":
with memray.Tracker("memray_test.bin", memory_interval_ms=0.1, follow_fork=True, native_traces=True):
main()

Edit 2
Interestingly, it seems that numpy.fromfile does indeed work better.
(The code is the same as above, just, using fromfile instead of load.)
2 "src =" https://i.sstatic.net/3gm9azsl.png "/>
Выход MPROF - это то, что я ожидал (а также для функции np.load). Однако, по -видимому, существует несоответствие между выходом мемрай и выходом MPLOT. < /P>
edit 3 < /strong> < /p>
После повторного установления моей среды и создания новой массивы тестов, кажется, что зависит от того, что я могу ожидать. усилие! Особенно, если пиковая память, как ожидается, будет 4 ГБ (вдвое больше размера массива)?>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ay-at-peak