How to get the size of a python object in bytes on Google AppEngine?

前端 未结 1 1151
陌清茗
陌清茗 2021-01-05 19:07

I need to compute the sizes of some python objects, so I can break them up and store them in memcache without hitting size limits.

\'sizeof()\' does

相关标签:
1条回答
  • 2021-01-05 19:17

    memcache internally and invariably uses pickle and stores the resulting string, so you can check with len(pickle.dumps(yourobject, -1)). Note that sys.getsizeof (which requires 2.6 or better, which is why it's missing on GAE) would not really help you at all:

    >>> import sys
    >>> sys.getsizeof(23)
    12
    >>> import pickle
    >>> len(pickle.dumps(23, -1))
    5
    

    since the size of a serialized pickle of the object can be quite different from the size of the object in memory, as you can see (so I guess you should feel grateful to GAE for not offering sizeof, which would have led you astray;-).

    0 讨论(0)
提交回复
热议问题