我想在julia中加载numpy数组,但是加载* .npz文件的速度很慢。
python3代码
import numpy as np
x = np.zeros([300, 400])
y = np.zeros([500, 600])
np.save('somepath/x.npy', x)
np.save('somepath/y.npy', y)
np.savez('somepath/xy.npz', x=x, y=y)
julia 0.6代码
using NPZ
function load_xy()
xy = npzread("somepath/xy.npz")
end
function load_x_and_y()
x = npzread("somepath/x.npy")
y = npzread("somepath/y.npy")
end
@time(load_xy())
@time(load_x_and_y())
load_xy(): 22.071646秒(24.99 M分配:820.903 MiB,0.87%gc时间) load_x_and_y(): 0.010131秒(2.88 k分配:9.782 MiB,19.20%gc时间)
问题:
为什么load_xy()的大量分配?
如何更改代码以便load_xy()也快?