{"id":13730644,"url":"https://github.com/kshk123/hashMap","last_synced_at":"2025-05-08T03:31:23.704Z","repository":{"id":13762259,"uuid":"74892740","full_name":"kshk123/hashMap","owner":"kshk123","description":"A concurrent thread-safe hash map implemented in C++","archived":false,"fork":false,"pushed_at":"2023-05-21T10:04:06.000Z","size":42,"stargazers_count":138,"open_issues_count":3,"forks_count":33,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-08-04T02:09:44.510Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/kshk123.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}},"created_at":"2016-11-27T14:27:15.000Z","updated_at":"2024-07-31T03:32:08.000Z","dependencies_parsed_at":"2022-07-05T13:12:19.143Z","dependency_job_id":null,"html_url":"https://github.com/kshk123/hashMap","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/kshk123%2FhashMap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kshk123%2FhashMap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kshk123%2FhashMap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kshk123%2FhashMap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kshk123","download_url":"https://codeload.github.com/kshk123/hashMap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224695639,"owners_count":17354444,"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-08-03T02:01:17.555Z","updated_at":"2024-11-14T21:31:26.579Z","avatar_url":"https://github.com/kshk123.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# hashMap\nA concurrent thread-safe hash map implemented in C++.\n\nAnyone can use the hash-map by simply including the header files in the \"inc\" folder.\nCurrently, copy and move of the hash is not supported.\n\nA \"main\" is provided to test the basic scenarios of the hashMap.\n\nThe hash map is implemented as an array of hash buckets.\nEach hash bucket is a single linked list of hash nodes and has a mutex associated with it.\nMultiple threads can read from the same bucket simulatenously, but only one thread can write\ninto the same bucket. Since the mutex is per bucket, if multiple threads try to write into different\nbuckets simulatenously, they will be allowed to do so.This allows some level of concurrency for the hash map.\n\nThe mutex is implemented as \"std::shared_timed_mutex\" from C++14 and uses \"std::unique_lock\" from C++11 for writes\nand \"std::shared_lock\" from C++14 for reading from a bucket. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkshk123%2FhashMap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkshk123%2FhashMap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkshk123%2FhashMap/lists"}