troydhanson/uthash

C macros for hash tables and more

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 14 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 14th, 2026
Created on January 7th, 2013
Open Issues & Pull Requests: 29 (+0)
GitHub issues: Enabled
Number of forks: 980
Total Stargazers: 4,781 (+0)
Total Subscribers: 134 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.8 hours
Mean response time: 9.6 days
90th percentile: 20.8 days
Tracked items: 10

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

uthash is a C library that provides hash table and related data structure implementations through preprocessor macros.

The library solves the problem of implementing efficient hash tables and other common data structures in C without requiring external dependencies or dynamic memory management frameworks. It works by defining a set of macros that developers include in their code, allowing them to create type-safe hash tables, linked lists, and other collections directly within their C programs. The macro-based approach means the code is generated at compile time, avoiding runtime overhead and keeping the implementation self-contained within a single header file.

Developers should choose uthash when working on C projects that need lightweight, dependency-free data structures. It suits embedded systems, performance-critical applications, and codebases where adding external libraries is impractical. The macro-based design makes it particularly valuable for projects where compile-time code generation is preferable to runtime polymorphism or where minimizing external dependencies is a priority. The library is well-suited for developers comfortable with C preprocessor patterns and those who need to avoid linking against additional libraries.

The project maintains a stable, mature codebase with infrequent but deliberate updates. Development activity shows careful attention to bug fixes and incremental improvements rather than rapid feature expansion. The maintainer responds to issues and pull requests with technical precision, indicating active stewardship of the codebase. Documentation is comprehensive and well-maintained, suggesting a focus on usability and clarity for developers adopting the library. The project demonstrates the character of a well-established utility that prioritizes reliability and backward compatibility over chasing new features.