6
วิธีที่ดีที่สุดในการรักษาอาร์เรย์จำนวนนับบนดิสก์
ฉันกำลังมองหาวิธีที่รวดเร็วในการรักษาอาร์เรย์จำนวนมาก ฉันต้องการบันทึกลงในดิสก์ในรูปแบบไบนารีจากนั้นอ่านกลับเข้าไปในหน่วยความจำค่อนข้างเร็ว cPickle ไม่เร็วพอน่าเสียดาย ผมพบว่าnumpy.savezและnumpy.load แต่สิ่งที่แปลกคือ numpy.load โหลดไฟล์ npy ลงใน "memory-map" นั่นหมายความว่าการจัดการอาร์เรย์ปกติจะช้ามาก ตัวอย่างเช่นสิ่งนี้จะช้ามาก: #!/usr/bin/python import numpy as np; import time; from tempfile import TemporaryFile n = 10000000; a = np.arange(n) b = np.arange(n) * 10 c = np.arange(n) * -0.5 file = TemporaryFile() np.savez(file,a = a, b = b, c …