Re: Function Memory Usage

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Terry Reedy

    Re: Function Memory Usage

    Paulo J. Matos wrote:
    Hi all,
    >
    What's the best way to know the amount of memory allocated by a
    function
    What do you count?

    def zeros(n): return [0]*n

    how much memory is that?

  • Steven D'Aprano

    #2
    Re: Function Memory Usage

    On Sat, 01 Nov 2008 01:43:44 -0400, Terry Reedy wrote:
    Paulo J. Matos wrote:
    >Hi all,
    >>
    >What's the best way to know the amount of memory allocated by a
    >function
    >
    What do you count?
    >
    def zeros(n): return [0]*n
    >
    how much memory is that?
    I assume you don't include the memory required by the function itself.

    Integers take 20 bytes, but rounded to the nearest multiple of 8 bytes,
    so 24 bytes. However, we can assume that the 0 int is cached, so we only
    need 24 bytes for all n of them.

    Lists have a fixed overhead of 28 bytes, plus 4*n for the items, again
    rounded to the nearest multiple of 8 bytes.

    Add them together, and you have the memory usage of the list returned.


    --
    Steven

    Comment

    Working...