RepositoryCUSHoa Kỳ
ccgargantua

ccgargantua/arena-allocator

Super small, simple, and (almost) completely C89-compliant single-header arena "allocator".

144sao
14fork
3issue
1lượt xem

Thành tựu nổi bật

Những danh hiệu mới nhất của dự án

1
TINIX TRENDING·Chủ đề: ansi

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: ansi-c

#1 Repository Của Tuần

1
TINIX TRENDING·Chủ đề: c90

#1 Repository Của Tuần

🧠 Arena Allocator — Cấp phát bộ nhớ nhóm nhanh như tính toán con trỏ

Một single-header library C89 cung cấp arena allocator siêu nhỏ gọn, giúp quản lý bộ nhớ động dễ dàng, nhanh và an toàn.

Arena Allocator là một thư viện mã nguồn mở bằng C, cung cấp một bộ công cụ để thực hiện cấp phát bộ nhớ theo kiểu arena — cho phép nhiều lần cấp phát được giải phóng cùng lúc. Dự án nhằm giảm số lần gọi malloc và free, từ đó cải thiện hiệu suất và độ an toàn trong quản lý bộ nhớ.

✨ Điểm nổi bật

  • Single-header: Chỉ cần một tệp tin arena.h, đưa vào dự án và sử dụng ngay.
  • Tương thích C89: Hầu như tuân thủ chuẩn C89, phù hợp với các môi trường cũ hoặc hạn chế về công cụ.
  • Cấp phát nhóm: Các khối bộ nhớ được cấp phát có thể được giải phóng cùng lúc bằng cách phá hủy arena.
  • Tái sử dụng nhanh: Reset con trỏ để tái sử dụng bộ nhớ mà không cần gọi thêm malloc hoặc free.
  • Gói trên malloc/free: Không phải là allocator cấp hạ tầng, mà là lớp bọc tiện lợi trên hàm chuẩn.
  • Giấy phép Apache 2.0: Cho phép sử dụng trong dự án thương mại mà không cần mở nguồn.

💡 Vì sao đáng chú ý

Arena Allocator không cố gắng thay thế malloc truyền thống, mà cung cấp một cách tiếp cận khác — phù hợp cho các ứng dụng cần tạo ra nhiều đối tượng ngắn hạn và giải phóng chúng đồng thời. Điều này rất hữu ích trong các trình biên dịch, engine game hoặc bất kỳ hệ thống nào xử lý vòng đời ngắn của nhiều đối tượng.


#ArenaAllocator #C89 #SingleHeader #MemoryManagement #OpenSource #TiniX

Dự án tương tự

Khám phá các dự án và mô hình AI khác có sự tương đồng.

RepositoryC
redcode/Z80

Highly portable Zilog Z80 CPU emulator written in ANSI C

565
Oct 25, 2026
RepositoryC
curl/curl

A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features

43.3k
Oct 29, 2026
RepositoryC
Immediate-Mode-UI/Nuklear

A single-header ANSI C immediate mode cross-platform GUI library

11.5k
Oct 26, 2026
RepositoryC
ibireme/yyjson

The fastest JSON library in C

3.9k
Oct 25, 2026
RepositoryC++
webview/webview

Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).

14.3k
Oct 22, 2026
RepositoryJavaScript
react/react

The library for web and native user interfaces.

251.9k
Oct 27, 2026
RepositoryC
Genymobile/scrcpy

Display and control your Android device

153.4k
Oct 26, 2026
RepositoryC
obsproject/obs-studio

OBS Studio - Free and open source software for live streaming and screen recording

78.6k
Oct 28, 2026
RepositoryC
FFmpeg/FFmpeg

Mirror of https://git.ffmpeg.org/ffmpeg.git

66.0k
Oct 28, 2026