{"id":21655264,"url":"https://github.com/pseitz/insert_only_string_hash_map","last_synced_at":"2025-03-20T04:44:02.975Z","repository":{"id":66217863,"uuid":"322836421","full_name":"PSeitz/insert_only_string_hash_map","owner":"PSeitz","description":null,"archived":false,"fork":false,"pushed_at":"2020-12-26T12:40:28.000Z","size":336,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-25T06:25:36.568Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/PSeitz.png","metadata":{"files":{"readme":"README.md","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,"publiccode":null,"codemeta":null}},"created_at":"2020-12-19T11:54:14.000Z","updated_at":"2020-12-22T07:15:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"46dd6829-187a-4879-a695-55ef8cc6a317","html_url":"https://github.com/PSeitz/insert_only_string_hash_map","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSeitz%2Finsert_only_string_hash_map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSeitz%2Finsert_only_string_hash_map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSeitz%2Finsert_only_string_hash_map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSeitz%2Finsert_only_string_hash_map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PSeitz","download_url":"https://codeload.github.com/PSeitz/insert_only_string_hash_map/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244554123,"owners_count":20471173,"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":[],"created_at":"2024-11-25T08:31:10.787Z","updated_at":"2025-03-20T04:44:02.957Z","avatar_url":"https://github.com/PSeitz.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## Inohashmap\n\nStores values for strings in a Hashmap in a fast and compact way.\n\nGood to count strings and assign ids to them or similar. Address space of string data is limited to u32::MAX (4GB).\nstring data is size in bytes of all uniquely inserted strings + string length metadata per string.\n\n### Example\n\n```\nuse inohashmap::StringHashMap;\nlet mut hashmap = StringHashMap::\u003cu32\u003e::new();\nlet val = hashmap.get_or_create(\"blub1\", 0);\nassert_eq!(*val, 0);\n*val += 1;\nlet val = hashmap.get_or_create(\"blub2\", 2);\nassert_eq!(*val, 2);\n```\n\n### Memory Consumption\nMemory Consumption is lower than with a regular hashmap, 30% lower in the [compare_allocations](compare_allocations/README.md) test.\n\n\n### Bench\n\n```\nrunning 11 tests\ntest tests::bench_fnv                            ... bench:     141,906 ns/iter (+/- 9,414)\ntest tests::bench_fnv_full                       ... bench:   5,180,066 ns/iter (+/- 392,488)\ntest tests::bench_fnv_full_get                   ... bench:   3,914,865 ns/iter (+/- 210,328)\ntest tests::bench_hasmap                         ... bench:     124,689 ns/iter (+/- 5,389)\ntest tests::bench_hasmap_full                    ... bench:   5,006,276 ns/iter (+/- 166,848)\ntest tests::bench_hasmap_full_get                ... bench:   4,015,903 ns/iter (+/- 149,086)\ntest tests::bench_hasmap_full_large_struct       ... bench:   5,533,528 ns/iter (+/- 201,944)\ntest tests::bench_tant_termmap                   ... bench:     123,695 ns/iter (+/- 6,106)\ntest tests::bench_tant_termmap_full              ... bench:   5,454,897 ns/iter (+/- 157,208)\ntest tests::bench_tant_termmap_full_get          ... bench:   5,047,846 ns/iter (+/- 181,768)\ntest tests::bench_tant_termmap_full_large_struct ... bench:   5,644,069 ns/iter (+/- 269,745)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseitz%2Finsert_only_string_hash_map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpseitz%2Finsert_only_string_hash_map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseitz%2Finsert_only_string_hash_map/lists"}