38 مستودعات
Explicit control over the allocation and deallocation of memory to ensure predictable performance.
Distinct from Manual Memory Management Utilities: The candidates are either too narrow (tensor resources) or focus on utility libraries rather than a language-level memory model.
Explore 38 awesome GitHub repositories matching operating systems & systems programming · Manual Memory Management. Refine with filters or upvote what's useful.
Zig is a low-level systems programming language designed for writing high-performance software that interacts directly with hardware. It focuses on the transformation of source code into machine binaries for the execution of low-level operations. The project is distinguished by its native support for cross-compilation, allowing binaries for various operating systems and CPU architectures to be built from a single host. It provides direct interoperability with the C language, enabling the import of headers and function calls without a foreign function interface. The language utilizes manual m
Employs manual memory management to provide predictable performance and direct resource control without a garbage collector.
This project is a comprehensive technical interview question bank and reference library designed for software engineering roles at major technology companies. It serves as a study guide and knowledge base covering the core principles of high-performance systems programming and computer science theory. The collection focuses on deep technical domains, including C++ language mastery, distributed systems design, and database engineering. It provides detailed material on consensus protocols, cluster coordination, and the architectural differences between SQL and NoSQL implementations. The resour
Explains explicit memory allocation and reclamation strategies for predictable performance in systems programming.
This project is an algorithm implementation reference and educational resource providing a library of common computer science algorithms implemented in Rust. It serves as a codebase for learning data structures and algorithmic logic through practical, executable examples. The collection is designed for computer science education and rust language proficiency, allowing users to study computational patterns and solve programming challenges. It provides a reference for those practicing competitive programming or seeking to understand how to apply Rust idioms to standard algorithmic logic.
Uses Rust's ownership and borrowing system to manage memory safely without a garbage collector during data structure manipulation.
Qv2ray is a multi-protocol proxy client and a graphical user interface for managing V2Ray network proxy connections. Built as a cross-platform desktop application, it provides a consistent visual experience for configuring traffic routing across Linux, Windows, and macOS. The application utilizes a plugin-based architecture that allows for the integration of third-party extensions to add support for additional network proxy protocols. This modular system enables the software to be extended without modifying the core binary. The tool covers multi-protocol proxy routing for tunneling protocols
Implements manual and smart pointer memory handling to ensure high performance during data routing.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Covers the use of reference counting to manage resources with multiple owners.
This project is a structured Rust programming curriculum and systems programming course designed to take learners from beginner to expert levels. It provides a comprehensive set of training materials focused on mastering the core syntax, idioms, and technical foundations of the Rust language. The project features a specialized language transition framework that maps concepts from C++, managed languages, and dynamic typing to Rust idioms. This allows developers from different ecosystems to translate architectural patterns and memory models into idiomatic Rust. The training covers a broad rang
Covers the fundamental Rust memory model based on ownership and borrowing.
Dust is a command line disk usage analyzer written in Rust. It functions as a disk space visualization tool and recursive directory size scanner used to identify large files and directories through a formatted list of disk consumption across a filesystem. The tool differentiates itself by providing a recursive tree view to visualize space distribution and the ability to output directory and file size data in machine-readable formats for external processing and analysis. Its broader capabilities include filesystem auditing and storage capacity management. This is achieved through file and dir
Leverages Rust's ownership and borrowing system to handle large directory trees efficiently without garbage collection.
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Implements explicit control over memory allocation and deallocation to ensure predictable performance without garbage collection pauses.
This project is a C++ Standard Library implementation that provides the foundational classes and functions required by the ISO C++ standard. It serves as a template-based generic programming library, providing the Standard Template Library's set of containers, algorithms, and iterators for data manipulation. The library is a core component of the MSVC toolchain, designed specifically for integration with the Microsoft Visual C++ compiler and build tools. The implementation covers memory management through optimized allocators and buffer strategies, as well as tools for performance benchmarki
Handling object allocation and reclamation through optimized allocators and buffer strategies to improve application speed.
This project is an educational implementation of a relational database engine written in C. It functions as a SQLite clone, demonstrating the internal mechanics of a database system through a C-based systems project that focuses on manual memory management and file I/O. The engine is distinguished by its use of a bytecode virtual machine, which executes database operations by compiling SQL statements into low-level instructions. It utilizes a B-tree database engine to organize records in a balanced tree structure, ensuring efficient insertion, search, and range scanning. The system covers co
Employs explicit memory allocation and deallocation in C to precisely control on-disk data layout.
This project is a curated catalogue of software architecture patterns and idioms implemented in Rust. It serves as a technical reference for building maintainable systems and a guide for writing idiomatic code. The resource documents common structural solutions and anti-patterns for Rust development. It provides a collection of best practices and language-specific conventions to help developers write clean and efficient code. The project covers systems design patterns, software architecture, and code optimization within a type-safe environment.
Documents the use of Rust's ownership and borrowing model for memory management without a garbage collector.
A catalogue of Rust design patterns, anti-patterns and idioms
Documents ownership-based resource management patterns for deterministic cleanup.
This project is a curated collection of guidelines and technical resources designed to improve C++ code safety, maintainability, and performance. It provides a comprehensive set of coding standards and best practices for establishing consistent naming, formatting, and structural patterns across C++ codebases. The guide offers specific technical advice on performance optimization, including methods for minimizing object copying, optimizing memory allocation, and reducing compilation cycles. It also provides a directory of tooling recommendations for implementing static analysis, fuzz testing,
Implements smart pointers and ownership patterns to prevent memory leaks and ensure type-safe resource handling.
Bigcache is a thread-safe, in-memory key-value store for Go designed to minimize garbage collection pauses. It functions as a memory-optimized cache capable of storing gigabytes of data while maintaining low latency during high-volume operations. The system avoids garbage collection overhead by managing memory through large byte arrays and manual allocation. It utilizes a circular-buffer layout to reuse space and lock-striped sharding to reduce contention during concurrent read and write access. The project provides capabilities for high-volume in-memory caching and low-latency data retrieva
Allocates large chunks of memory upfront to bypass the Go runtime heap allocation overhead.
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
Implements reference counting to track and drop data only when the final owner is released.
FLAnimatedImage is a high-performance rendering engine and library for playing animated GIF images on iOS. It functions as an animation engine and image memory manager designed to ensure smooth frame transitions and consistent playback timing across different device environments. The project focuses on maintaining consistent animation speed through variable frame delay support and optimizes rendering efficiency to sustain high frame rates on mobile devices. It includes a memory management system to prevent application crashes and performance degradation during the playback of large or numerou
Implements explicit control over image buffer allocation and release cycles to prevent crashes.
CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types
Transfers strings, vectors, and other owned values across the language boundary using intuitive types.
cppfront هو واجهة أمامية لامتداد لغة C++ ومترجم من المصدر إلى المصدر. يعمل كمحول بناء جملة يحول امتدادات اللغة التجريبية إلى كود C++ متوافق مع المعايير، مما يسمح بإنشاء نماذج أولية لميزات اللغة الجديدة داخل أنظمة البناء الحالية. يوفر المشروع طبقة ترجمة تضيف دعماً لمطابقة الأنماط، والعقود، واستيفاء السلاسل. ويتضمن أداة برمجة وصفية للانعكاس في وقت التجميع وإنشاء الكود الآلي باستخدام دوال وصفية متخصصة. يؤتمت النظام العديد من مهام التطوير، بما في ذلك حل ترتيب التبعية من خلال الإعلانات الأمامية التلقائية وإدارة أوضاع تمرير المعلمات. كما يطبق تحليلاً ثابتاً لإدراج فحص الحدود التلقائي وتحسين إدارة الموارد من خلال تطبيق دلالات النقل في آخر نقطة استخدام للمتغير. تتضمن الأداة آلية تحقق لضمان بقاء الكود المصدري القياسي دون تغيير أثناء عملية الترجمة لمنع تراجعات بناء الجملة.
Automatically applies move semantics and bounds checking to reduce memory overhead and prevent errors.
Carp is a statically typed Lisp compiler that compiles Lisp-like syntax directly to C source code, enabling seamless integration with existing C libraries and low-level system programming. It manages memory deterministically at compile time using ownership tracking and linear types, eliminating garbage collection pauses and runtime overhead while ensuring type safety through an inferred static type system. The language distinguishes itself through compile-time macro expansion and metaprogramming capabilities, allowing code generation and transformation before final binary output. It enforces
Manages memory deterministically at compile time using ownership tracking and linear types.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Explains how threads share heap, global variables, and program code within a single process.