Làm cách nào để tìm hiểu kích thước bộ nhớ của cấu trúc dữ liệu Python? Tôi đang tìm kiếm một cái gì đó như:kích thước bộ nhớ của cấu trúc dữ liệu Python
sizeof({1:'hello', 2:'world'})
Thật tuyệt vời nếu nó đếm mọi thứ một cách đệ quy. Nhưng ngay cả một kết quả cơ bản không đệ quy cũng giúp. Về cơ bản, tôi muốn có được cảm giác về các tùy chọn triển khai khác nhau như tuple v.s. liệt kê v.s. về mặt bộ nhớ. Nó quan trọng bởi vì tôi đang lập kế hoạch để có hàng triệu đối tượng được khởi tạo.
Nền tảng dev hiện tại của tôi là CPython 2.6.
Đó sẽ là chương trình * thực sự * chậm, trừ khi bạn có nhiều bộ nhớ. Cộng với kích thước của bảng tra cứu sẽ là khá lớn (hàng triệu đối tượng?). Chỉ cần nói rằng ' –
[namedtuple] (http://docs.python.org/dev/library/collections.html#namedtuple-factory-function-for-tuples-with-named-fields) là một lựa chọn tốt để sử dụng các lớp như khoảng trống được yêu cầu bởi mỗi cá thể giống như một bộ tuple. Nếu bạn có nhiều phiên bản của một lớp, bạn nên xem xét ['__slots__'] (http://docs.python.org/reference/datamodel.html#slots) –