8
Dictionary vs Object - ข้อใดมีประสิทธิภาพมากกว่าและเพราะเหตุใด
อะไรที่มีประสิทธิภาพมากกว่าใน Python ในแง่ของการใช้หน่วยความจำและการใช้ CPU - พจนานุกรมหรือวัตถุ? ความเป็นมา: ฉันต้องโหลดข้อมูลจำนวนมากลงใน Python ฉันสร้างวัตถุที่เป็นเพียงคอนเทนเนอร์ฟิลด์ การสร้างอินสแตนซ์ 4M และใส่ลงในพจนานุกรมใช้เวลาประมาณ 10 นาทีและหน่วยความจำ ~ 6GB หลังจากที่พจนานุกรมพร้อมใช้งานก็สามารถเข้าถึงได้ในพริบตา ตัวอย่าง: ในการตรวจสอบประสิทธิภาพฉันเขียนโปรแกรมง่ายๆสองโปรแกรมที่ทำเหมือนกัน - โปรแกรมหนึ่งใช้อ็อบเจกต์พจนานุกรมอื่น: วัตถุ (เวลาดำเนินการ ~ 18 วินาที): class Obj(object): def __init__(self, i): self.i = i self.l = [] all = {} for i in range(1000000): all[i] = Obj(i) พจนานุกรม (เวลาดำเนินการ …