awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Tencent avatar

Tencent/libco

0
View on GitHub↗
8,684 Stars·2,120 Forks·C++·5 Aufrufe

Libco

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 delayed operations with constant-time complexity.

The library provides capabilities for fine-grained task switching and concurrent state management, using private variables and signals for communication between coroutines. It integrates non-blocking I/O and system-call interception to manage the lifecycle of lightweight threads without relying on kernel-level preemption.

Features

  • Cooperative Schedulers - Implements a cooperative scheduler where tasks voluntarily yield control to manage high-concurrency execution flow.
  • User-Space Concurrency - Orchestrates the creation, resumption, and yielding of concurrent tasks in user-space to avoid blocking the main thread.
  • High-Concurrency Networking - Handles millions of simultaneous TCP connections on a single machine using lightweight coroutines.
  • Stack-Copying Context Switches - Saves and restores CPU registers and memory segments by copying the coroutine stack to enable high-density concurrency.
  • Synchronous-to-Asynchronous Wrappers - Provides a mechanism to intercept system calls and socket functions, allowing synchronous business logic to execute asynchronously.
  • System-Call Interception - Wraps blocking I/O and socket functions to yield execution back to the scheduler until resources become available.
  • Concurrent Thread Execution - Enables pausing and resuming multiple functions to handle high volumes of concurrent processing.
  • Coroutine Libraries - Provides a C++ library for managing cooperative multitasking and high-concurrency execution through lightweight user-space threads.
  • Coroutines - Provides a minimal interface for creating, resuming, and yielding execution between coroutines for fine-grained task switching.
  • Non-blocking I/O - Integrates non-blocking I/O to handle millions of concurrent network connections without blocking the main execution thread.
  • Time Wheel Schedulers - Provides a high-performance time wheel mechanism for executing asynchronous background jobs and delayed operations.
  • Time Wheel Schedulers - Uses a circular buffer to track and trigger timed events with constant-time complexity for high-performance task management.
  • Coroutine Channels - Implements a system for sharing private variables and signals to coordinate state and communication between coroutines.
  • Fine-Grained Task Switching - Controls the execution lifecycle of coroutines to switch between functions without blocking the main thread.
  • High-Performance Task Schedulers - Manages background jobs and timed operations using a high-performance time wheel to minimize overhead.
  • Concurrent State Coordination - Coordinates communication and shared state between concurrent tasks using signals and private variables.
  • Coroutine Private Variables - Allocates dedicated memory regions for each coroutine to maintain local state and variables across execution suspensions.
  • Asynchronous Event Loops - Coroutine-based library for high-concurrency I/O.

Star-Verlauf

Star-Verlauf für tencent/libcoStar-Verlauf für tencent/libco

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Libco

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Libco.
  • hnes/libacoAvatar von hnes

    hnes/libaco

    3,688Auf GitHub ansehen↗

    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 r

    Cccoroutinecoroutine-library
    Auf GitHub ansehen↗3,688
  • gevent/geventAvatar von gevent

    gevent/gevent

    6,440Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗6,440
  • python-trio/trioAvatar von python-trio

    python-trio/trio

    7,280Auf GitHub ansehen↗

    Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover

    Pythonasyncasync-awaitio
    Auf GitHub ansehen↗7,280
  • eclipse-vertx/vert.xAvatar von eclipse-vertx

    eclipse-vertx/vert.x

    14,667Auf GitHub ansehen↗

    Vert.x is a reactive polyglot framework and asynchronous programming library for the Java Virtual Machine. It functions as an event-driven networking framework and toolkit for building non-blocking applications. The system enables the development of high-concurrency network services and event-driven microservices. It supports the creation of reactive services using multiple languages running on the JVM. The framework covers a wide range of capabilities including the management of HTTP and TCP network protocols, non-blocking file system access, and the integration of reactive clients.

    Javaconcurrencyevent-loophigh-performance
    Auf GitHub ansehen↗14,667
Alle 30 Alternativen zu Libco anzeigen→

Häufig gestellte Fragen

Was macht tencent/libco?

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.

Was sind die Hauptfunktionen von tencent/libco?

Die Hauptfunktionen von tencent/libco sind: Cooperative Schedulers, User-Space Concurrency, High-Concurrency Networking, Stack-Copying Context Switches, Synchronous-to-Asynchronous Wrappers, System-Call Interception, Concurrent Thread Execution, Coroutine Libraries.

Welche Open-Source-Alternativen gibt es zu tencent/libco?

Open-Source-Alternativen zu tencent/libco sind unter anderem: hnes/libaco — libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing… eclipse-vertx/vert.x — Vert.x is a reactive polyglot framework and asynchronous programming library for the Java Virtual Machine. It… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… yedf2/handy — Handy is a C++11 network server framework and event-driven networking engine designed for building high-performance…