Have ideas to improve npm?Join in the discussion! »

    object-sizeof
    TypeScript icon, indicating that this package has built-in type declarations

    1.6.1 • Public • Published

    object-sizeof

    Build Status Dependency Status FOSSA Status

    NPM

    Get size of a JavaScript object in Bytes

    JavaScript does not provide sizeof (like in C), and programmer does not need to care about memory allocation/deallocation.

    However, according to ECMAScript Language Specification, each String value is represented by 16-bit unsigned integer, Number uses the double-precision 64-bit format IEEE 754 values including the special "Not-a-Number" (NaN) values, positive infinity, and negative infinity.

    Having this knowledge, the module calculates how much memory object will allocate.

    Limitations

    Please note, that V8 which compiles the JavaScript into native machine code, is not taken into account, as the compiled code is additionally heavily optimized.

    Installation

    npm install object-sizeof

    Examples

    ES5

      var sizeof = require('object-sizeof')
      
      // 2B per character, 6 chars total => 12B
      console.log(sizeof({abc: 'def'}))
      
      // 8B for Number => 8B
      console.log(sizeof(12345))
      
      var param = { 
        'a': 1, 
        'b': 2, 
        'c': {
          'd': 4
        }
      }
      // 4 one two-bytes char strings and 3 eighth-bytes numbers => 32B
      console.log(sizeof(param))

    ES6

      import sizeof from 'object-sizeof'
      
      // 2B per character, 6 chars total => 12B
      console.log(sizeof({abc: 'def'}))
      
      // 8B for Number => 8B
      console.log(sizeof(12345))
      
      const param = { 
        'a': 1, 
        'b': 2, 
        'c': {
          'd': 4
        }
      }
      // 4 one two-bytes char strings and 3 eighth-bytes numbers => 32B
      console.log(sizeof(param))

    Licence

    The MIT License (MIT)

    Copyright (c) 2015, Andrei Karpushonak aka @miktam

    FOSSA Status

    Install

    npm i object-sizeof

    DownloadsWeekly Downloads

    124,073

    Version

    1.6.1

    License

    MIT

    Unpacked Size

    10.5 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar