มีการอ้างอิงขนาดหน่วยความจำของโครงสร้างข้อมูล Python บนแพลตฟอร์ม 32- และ 64 บิตหรือไม่
ถ้าไม่เช่นนั้นก็คงจะดีถ้ามีใน SO ยิ่งละเอียดยิ่งดี! โครงสร้าง Python ต่อไปนี้ใช้กี่ไบต์ (ขึ้นอยู่กับlen
และประเภทเนื้อหาเมื่อเกี่ยวข้อง)
int
float
- การอ้างอิง
str
- สตริง Unicode
tuple
list
dict
set
array.array
numpy.array
deque
- วัตถุคลาสรูปแบบใหม่
- วัตถุคลาสแบบเก่า
- ... และทุกสิ่งที่ฉันลืม!
(สำหรับคอนเทนเนอร์ที่เอาแต่อ้างอิงไปยังออบเจ็กต์อื่นเราไม่ต้องการนับขนาดของรายการด้วยตนเองเนื่องจากอาจมีการแชร์)
นอกจากนี้ยังมีวิธีรับหน่วยความจำที่อ็อบเจ็กต์ใช้ในรันไทม์ (เรียกซ้ำหรือไม่)?
a
a.nbytes