awesome-repositories.com
ब्लॉग
awesome-repositories.com

AI-संचालित खोज के साथ बेहतरीन ओपन-सोर्स रिपॉजिटरी खोजें।

एक्सप्लोर करेंक्यूरेटेड खोजेंओपन-सोर्स विकल्पसेल्फ-होस्टेड सॉफ्टवेयरब्लॉगसाइटमैप
प्रोजेक्टहमारे बारे मेंहम रैंकिंग कैसे करते हैंप्रेसMCP सर्वर
कानूनीगोपनीयताशर्तें
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hnes avatar

hnes/libaco

0
View on GitHub↗
3,688 स्टार्स·404 फोर्क्स·C·Apache-2.0·1 व्यूlibaco.org↗

Libaco

libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric coroutines. It functions as an execution context manager and stack memory allocator, allowing a single process to initialize independent execution units with private stacks and perform manual context switching via yield operations.

The library distinguishes itself through its memory management and stability features, utilizing read-only guard pages at stack boundaries to trigger hardware faults upon stack overflow. It supports both private stack allocation and shared stack pooling to reduce memory overhead, and it provides configurable floating-point state isolation to maintain numerical precision during switches.

The system covers the full lifecycle of cooperative routines, including creation, state switching, and destruction. It includes error handling mechanisms that execute designated protector functions or callbacks when a routine terminates abnormally to ensure system stability and resource cleanup.

Features

  • Cooperative Multitasking - Provides a runtime for cooperative multitasking where routines voluntarily yield control to a scheduler.
  • C Context Switching Libraries - Provides low-level C primitives for rapid switching between execution states and private memory stacks.
  • Execution Context Management - Initializes independent execution units with private stacks and configurable memory regions.
  • Fine-Grained Task Switching - Implements low-level mechanisms for rapidly switching execution contexts between cooperative routines.
  • Context Switching Implementations - Implements the low-level mechanism of swapping CPU execution states between different cooperative tasks.
  • Stack Memory Management - Manages continuous memory regions for execution stacks, utilizing guard pages for overflow prevention.
  • Stack Overflow Protections - Utilizes read-only guard pages at stack boundaries to trigger hardware faults upon stack overflow.
  • Coroutine Lifecycle Management - Manages the full execution cycle of cooperative routines, from initialization to memory reclamation upon destruction.
  • Coroutine Libraries - Provides a low-level C runtime for managing asymmetric coroutines and cooperative multitasking.
  • Coroutines - Provides lightweight cooperative multitasking units that can be paused and resumed.
  • Asymmetric - Implements a control flow where a main coordinator manages the execution and suspension of several worker routines.
  • Coroutine Spawning - Initializes new cooperative execution units with specific entry functions and private stacks.
  • Floating Point State Management - Provides mechanisms for saving and restoring floating point control words to maintain numerical precision during switches.
  • Shared Stack Pools - Supports shared stack pooling to reduce memory overhead across multiple execution units.
  • Embedded Task Schedulers - Creates lightweight execution units suitable for resource-constrained environments requiring efficient task switching.
  • Stack-Copying Context Switches - Manages unit transitions by saving and restoring CPU registers during coroutine context switches.
  • Shared Stack Pooling - Supports shared stack pooling to reduce total system memory overhead while maintaining overflow protection.
  • Abnormal Termination Protectors - Executes a custom protector function when a routine terminates abnormally to ensure resource cleanup.
  • Routine Protector Functions - Executes designated protector functions or callbacks when a routine terminates abnormally to ensure system stability.
  • Windows Environments - Listed in the “Windows Environments” section of the Awesome C awesome list.

स्टार हिस्ट्री

hnes/libaco के लिए स्टार हिस्ट्री चार्टhnes/libaco के लिए स्टार हिस्ट्री चार्ट

AI सर्च

और अधिक बेहतरीन रिपॉजिटरी खोजें

अपनी ज़रूरत को सरल भाषा में बताएं — AI हजारों क्यूरेटेड ओपन-सोर्स प्रोजेक्ट्स को प्रासंगिकता के आधार पर रैंक करता है।

Start searching with AI

Libaco के ओपन-सोर्स विकल्प

समान ओपन-सोर्स प्रोजेक्ट्स, जो Libaco के साथ साझा की गई सुविधाओं के आधार पर रैंक किए गए हैं।
  • tencent/libcoTencent का अवतार

    Tencent/libco

    8,684GitHub पर देखें↗

    libco is a C++ coroutine library and user-space task orchestrator designed for cooperative multitasking and high-concurrency execution. It functions as a high-concurrency network framework and a synchronous-to-asynchronous wrapper that allows blocking system calls and socket functions to run asynchronously without modifying existing business logic. The project utilizes a specialized stack-copying context switching model to support millions of simultaneous TCP connections on a single machine. It includes a high-performance time wheel scheduler for managing asynchronous background jobs and dela

    C++
    GitHub पर देखें↗8,684
  • gevent/geventgevent का अवतार

    gevent/gevent

    6,440GitHub पर देखें↗

    Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications. The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits t

    Pythonasynciocoroutinesgreenlet
    GitHub पर देखें↗6,440
  • boostorg/boostboostorg का अवतार

    boostorg/boost

    8,493GitHub पर देखें↗

    Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides a wide range of reusable components, data structures, and algorithms designed to add capabilities to the base language across different platforms. The project is distinguished by its extensive focus on compile-time template metaprogramming and generic programming. It implements advanced architectural patterns such as policy-based design, concept-based type validation, and the use of SFINAE for conditional template resolution to minimize runtime overhead. The library covers a

    HTML
    GitHub पर देखें↗8,493
  • waruqi/tboxwaruqi का अवतार

    waruqi/tbox

    5,111GitHub पर देखें↗

    tbox is a multi-platform C standard library and toolkit designed for portable software development. It provides a core foundation for low-level system programming through a collection of system primitives, data structures, and memory management tools. The project includes a coroutine framework for cooperative multitasking and asynchronous logic, a data structure library featuring generic containers with a consistent iterator interface, and a memory management toolkit for pool allocation and debugging of heap overflows and leaks. It also provides a network and serialization toolset for handlin

    C
    GitHub पर देखें↗5,111
Libaco के सभी 30 विकल्प देखें→

अक्सर पूछे जाने वाले प्रश्न

hnes/libaco क्या करता है?

libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric coroutines. It functions as an execution context manager and stack memory allocator, allowing a single process to initialize independent execution units with private stacks and perform manual context switching via yield operations.

hnes/libaco की मुख्य विशेषताएं क्या हैं?

hnes/libaco की मुख्य विशेषताएं हैं: Cooperative Multitasking, C Context Switching Libraries, Execution Context Management, Fine-Grained Task Switching, Context Switching Implementations, Stack Memory Management, Stack Overflow Protections, Coroutine Lifecycle Management।

hnes/libaco के कुछ ओपन-सोर्स विकल्प क्या हैं?

hnes/libaco के ओपन-सोर्स विकल्पों में शामिल हैं: tencent/libco — libco is a C++ coroutine library and user-space task orchestrator designed for cooperative multitasking and… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O… boostorg/boost — Boost is a collection of portable, high-performance source libraries that extend the C++ standard library. It provides… waruqi/tbox — tbox is a multi-platform C standard library and toolkit designed for portable software development. It provides a core… lewissbaker/cppcoro — cppcoro is a C++ coroutine library and concurrency toolkit providing primitives for asynchronous tasks, lazy… easy-swoole/easyswoole — EasySwoole is a high-performance asynchronous PHP framework designed for building event-driven networks and persistent…