All Projects → okeuday → erlang_term

okeuday / erlang_term

Licence: MIT license
Erlang Term Info

Programming Languages

erlang
1774 projects
elixir
2628 projects

Projects that are alternatives of or similar to erlang term

Emma
Emma Memory and Mapfile Analyser
Stars: ✭ 21 (-32.26%)
Mutual labels:  memory-consumption
massif.js
Visualize Valgrind Massif memory consumption online.
Stars: ✭ 30 (-3.23%)
Mutual labels:  memory-consumption
memtop
View memory consumption
Stars: ✭ 29 (-6.45%)
Mutual labels:  memory-consumption
Scalene
Scalene: a high-performance, high-precision CPU, GPU, and memory profiler for Python
Stars: ✭ 4,819 (+15445.16%)
Mutual labels:  memory-consumption

Erlang Term Info (Memory Consumption)

Build Status

Purpose

To provide the in-memory size of Erlang terms, ignoring where the Erlang terms are stored.

Size information should match the Erlang Efficiency Guide memory information:

  • Small integer: 1 word
    • On 32-bit architectures: -134217729 < i < 134217728 (28 bits)
    • On 64-bit architectures: -576460752303423489 < i < 576460752303423488 (60 bits)
  • Big integer: 3..N words
  • Atom: 1 word
  • Float:
    • On 32-bit architectures: 4 words
    • On 64-bit architectures: 3 words
  • Binary: 3..6 + data
  • List: 1 word + 1 word per element + the size of each element
  • Tuple: 2 words + the size of each element
  • Small Map (N =< 32): 5 words + the size of all keys and values
  • Large Map (N > 32): N * [1.6 .. 1.8] + the size of all keys and values
  • Pid:
    • From local node: 1 word
    • From remote node: 5 words
  • Port:
    • From local node: 1 word
    • From remote node: 5 words
  • Reference:
    • On 32-bit architectures:
      • From local node: 5 words
      • From remote node: 7 words
    • On 64-bit architectures:
      • From local node: 4 words
      • From remote node: 6 words
  • Fun: 9..13 words + size of environment
  • Erlang process: 338 words when spawned (includes a heap of 233 words)

Limitations

  • Binaries are not tracked to avoid counting a reference more than once (to avoid the extra latency and memory use)

License

MIT License

Contact

Michael Truog (mjtruog at protonmail dot com)

Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].