2010-10-19 41 views
21

Tôi đang gặp vấn đề về Memcache và tôi đã tự hỏi cách tốt nhất để biết các đối tượng tôi tạo ra là bao nhiêu.Cách đo kích thước của đối tượng Ruby?

Giải pháp duy nhất tôi có là đặt chúng vào Memcache hiển thị kích thước của chúng theo byte (bằng cách này, tôi có thể tùy chỉnh đầu ra của Memcache không? Tôi muốn đọc kilobyte…).

Cảm ơn bạn,

Kevin

Trả lời

17

Blog Eigenclass xuất sắc đã có một bài viết thú vị về điều đó một lần:

http://web.archive.org/web/20120126022146/http://eigenclass.org/R2/writings/object-size-ruby-ocaml

Ngoài ra còn là một cuộc thảo luận tốt về ruby-talk, dẫn với một số mã của Robert Klemme (Thực tiễn tốt nhất của Ruby):

http://www.ruby-forum.com/topic/156648

http://www.pastie.org/217131

Cắm các giá trị từ bài viết đầu tiên vào script có thể nhận được bạn bắt đầu và có lẽ là khá giáo dục.

Bạn cũng có thể kiểm tra memprof, mặc dù nó thêm về tài liệu tham khảo đối tượng và tìm rò rỉ bộ nhớ hơn so với kích thước thực tế:

http://github.com/ice799/memprof

+0

Được rồi, tôi chỉ nhận ra rằng, bởi vì cấp phát bộ nhớ là khác nhau cho mỗi thực hiện, tôi vấn đề là cách phức tạp hơn tôi nghĩ :-) –

+3

Liên kết đầu tiên bị hỏng, dưới đây là phiên bản được lưu trữ: http://web.archive.org/web/20100918225809/http://eigenclass.org/R2/writings/object -size-ruby-ocaml – lulalala

Các vấn đề liên quan