{"id":13508604,"url":"https://github.com/okeuday/erlang_term","last_synced_at":"2025-03-16T15:30:41.077Z","repository":{"id":21198807,"uuid":"24510276","full_name":"okeuday/erlang_term","owner":"okeuday","description":"Erlang Term Info","archived":false,"fork":false,"pushed_at":"2024-02-17T00:22:16.000Z","size":94,"stargazers_count":33,"open_issues_count":0,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-18T03:35:39.847Z","etag":null,"topics":["data-structures","erlang","memory-consumption"],"latest_commit_sha":null,"homepage":null,"language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okeuday.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2014-09-26T18:15:10.000Z","updated_at":"2024-08-20T09:44:52.000Z","dependencies_parsed_at":"2022-08-28T05:40:40.389Z","dependency_job_id":"5bf414b5-a093-458f-b5fb-6b2c838a4244","html_url":"https://github.com/okeuday/erlang_term","commit_stats":{"total_commits":54,"total_committers":3,"mean_commits":18.0,"dds":"0.31481481481481477","last_synced_commit":"9d3e04c6202f47da74c3bd1b15cf745fb5695282"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okeuday%2Ferlang_term","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okeuday%2Ferlang_term/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okeuday%2Ferlang_term/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okeuday%2Ferlang_term/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okeuday","download_url":"https://codeload.github.com/okeuday/erlang_term/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221665169,"owners_count":16860187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-structures","erlang","memory-consumption"],"created_at":"2024-08-01T02:00:55.525Z","updated_at":"2024-10-27T10:49:08.365Z","avatar_url":"https://github.com/okeuday.png","language":"Erlang","readme":"Erlang Term Info (Memory Consumption)\n=====================================\n\n[![Build Status](https://app.travis-ci.com/okeuday/erlang_term.svg?branch=master)](https://app.travis-ci.com/okeuday/erlang_term)\n\nPurpose\n-------\n\nTo provide the in-memory size of Erlang terms, ignoring where the Erlang terms\nare stored.\n\nSize information should match the [Erlang Efficiency Guide memory information](http://www.erlang.org/doc/efficiency_guide/advanced.html#id68923):\n\n* Small integer: 1 word\n  * On 32-bit architectures: -134217729 \u003c i \u003c 134217728 (28 bits)\n  * On 64-bit architectures: -576460752303423489 \u003c i \u003c 576460752303423488 (60 bits)\n* Big integer: 3..N words\n* Atom: 1 word\n* Float:\n  * On 32-bit architectures: 4 words\n  * On 64-bit architectures: 3 words\n* Binary: 3..6 + data\n* List: 1 word + 1 word per element + the size of each element\n* Tuple: 2 words + the size of each element\n* Small Map (N =\u003c 32): 5 words + the size of all keys and values\n* Large Map (N \u003e 32): N * [1.6 .. 1.8] + the size of all keys and values\n* Pid:\n  * From local node: 1 word\n  * From remote node: 5 words\n* Port:\n  * From local node: 1 word\n  * From remote node: 5 words\n* Reference:\n  * On 32-bit architectures:\n    * From local node: 5 words\n    * From remote node: 7 words\n  * On 64-bit architectures:\n    * From local node: 4 words\n    * From remote node: 6 words\n* Fun: 9..13 words + size of environment\n* Erlang process: 338 words when spawned (includes a heap of 233 words)\n\nLimitations\n-----------\n\n* Binaries are not tracked to avoid counting a reference more than once\n  (to avoid the extra latency and memory use)\n\nLicense\n-------\n\nMIT License\n\nContact\n-------\n\nMichael Truog (mjtruog at protonmail dot com)\n\nThanks\n------\n\n* Sverker Eriksson [`erts_debug:flat_size/1` info](erlang_bugs_email.txt)\n\n","funding_links":[],"categories":["Miscellaneous","Erlang Specific"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokeuday%2Ferlang_term","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokeuday%2Ferlang_term","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokeuday%2Ferlang_term/lists"}