{"id":19044129,"url":"https://github.com/performanc/tablec","last_synced_at":"2025-04-23T23:27:02.516Z","repository":{"id":65078895,"uuid":"579203164","full_name":"PerformanC/TableC","owner":"PerformanC","description":"Low-level C89 Closed/Open-addressed hashtable implementation.","archived":false,"fork":false,"pushed_at":"2024-12-28T02:37:39.000Z","size":113,"stargazers_count":26,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-18T07:52:02.728Z","etag":null,"topics":["c","caching-library","fast-cache","hashtable","library"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PerformanC.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,"zenodo":null}},"created_at":"2022-12-16T23:26:07.000Z","updated_at":"2025-04-16T01:36:51.000Z","dependencies_parsed_at":"2023-11-17T20:29:50.523Z","dependency_job_id":"f89a8b8d-87db-45c6-8405-06238fed184d","html_url":"https://github.com/PerformanC/TableC","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerformanC%2FTableC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerformanC%2FTableC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerformanC%2FTableC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerformanC%2FTableC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PerformanC","download_url":"https://codeload.github.com/PerformanC/TableC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250530827,"owners_count":21445865,"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":["c","caching-library","fast-cache","hashtable","library"],"created_at":"2024-11-08T22:44:59.499Z","updated_at":"2025-04-23T23:27:02.457Z","avatar_url":"https://github.com/PerformanC.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TableC\n\nLow-level C89 closed and open addressing hashtable library.\n\n## Features\n\n- [x] Expandable hashtable\n- [x] Overflow protected\n- [x] No memory leaks\n- [x] C89 compatible\n- [x] [Extremely customizable](https://github.com/PerformanC/TableC/tree/open-addressing-customizable)\n\n\n## Performance\n\nTableC, due to its low-level API, and its simplicity, has a high performance, allowing it to be used on machines with restricted resources.\n\n| Samples | Repetitions (stabilization) | Time per sample |\n| ------- | --------------------------- | --------------- |\n| 1000    | 10000                       | 0.000718s       |\n| 10000   | 1000                        | 0.008083s       |\n| 100000  | 100                         | 0.095981s       |\n\n\u003e [!NOTE]\n\u003e This benchmark is only a reference, and must not be considered as a definitive result. If you want to run the benchmark yourself, you can do it by running the [benchmark.c](tests/benchmark.c) file.\n\n## Usage\n\nTableC provides an easy to use API, and a lot of flavors.\n\n- Closed addressing (main)\n- [Open addressing](https://github.com/PerformanC/TableC/tree/open-addressing)\n- [Open addressing without dynamic allocation](https://github.com/PerformanC/TableC/tree/open-addressing-no-malloc)\n- [Open addressing highly customizable](https://github.com/PerformanC/TableC/tree/open-addressing-customizable)\n\nEach flavor has its own advantages and disadvantages, and you can choose the one that best suits your needs. You can see its usage in the [tests folder](tests/special_cases.c) and in the [docs folder](docs/en-us/about.md).\n\n## Documentation\n\nThe docs provides a hand-written documentation for each function, with detailed explanations of each function, and its parameters. They are available in both English and Portuguese, and you can see it in the [docs folder](docs/).\n\n## Support\n\nTableC is a PerformanC software, and because of that, any type of question can be asked on PerformanC's [Discord server](https://discord.gg/uPveNfTuCJ). Feel free to join our Discord to talk with us.\n\n## Contributing\n\nTableC follows the organization's [contribution guidelines](https://github.com/PerformanC/contributing). You can read it to know how to contribute to TableC and other PerformanC projects.\n\n## Projects using TableC\n\nSince TableC is a new library, it is not a popular library, and it is not used in many projects, but in case you have an Open Source project using TableC, feel free to make a pull request adding it to this list.\n\n[Coglink](https://github.com/PerformanC/Coglink) by PerformanC\n[Cog-chef][https://github.com/Cogmasters/cog-chef] by Cogmasters\n\n## License\n\nTableC is licensed under [BSD 2-Clause License](LICENSE). You can read more about it on [Open Source Initiative](https://opensource.org/licenses/BSD-2-Clause).\n\n- Feito com :heart: por um Brasileiro!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperformanc%2Ftablec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperformanc%2Ftablec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperformanc%2Ftablec/lists"}