awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
swoole avatar

swoole/swoole-src

0
View on GitHub↗
18,891 stars·3,147 forks·C++·Apache-2.0·41 viewswww.swoole.com↗

Swoole Src

Swoole is a coroutine-based concurrency library and IO framework for PHP. It provides a system for building high-performance network servers and applications by bringing asynchronous, event-driven, and coroutine-based concurrency to the PHP runtime.

The project distinguishes itself by implementing user-space coroutine scheduling and non-blocking IO interception, which transforms standard blocking network and file operations into asynchronous actions. It further enables high-speed data exchange across multiple PHP processes through shared memory management and specialized data structures.

The framework covers a broad surface of networking and storage capabilities, including asynchronous network servers and clients, wire protocol support, and non-blocking database and file system drivers. It also includes observability tools for inspecting coroutine states, reactor metrics, and timer schedules.

A containerized debug environment is available for analyzing runtime crashes and memory errors using address sanitizers.

Features

  • Stack-Based Coroutine Schedulers - Implements a user-space coroutine scheduler that multiplexes lightweight threads onto OS threads using dynamic stacks.
  • PHP - Provides a coroutine-based IO framework that transforms blocking network and file operations into non-blocking actions.
  • Asynchronous Database Drivers - Ships a collection of asynchronous database drivers for high-concurrency read and write operations without stalling execution.
  • Shared Memory Data Exchange - Provides high-speed shared memory data structures like tables and ring buffers for inter-process communication.
  • User-Space Concurrency - Manages user-space lightweight threads that cooperatively switch contexts to handle concurrent operations.
  • Asynchronous Network Clients - Provides high-performance asynchronous network clients for diverse protocols to keep applications responsive.
  • Server Frameworks - Enables the creation of high-performance asynchronous servers that support multiple protocols on a single event loop.
  • Reactor Patterns - Implements an event-driven reactor loop to dispatch high-volume network events to registered handlers.
  • Non-Blocking Suspension Points - Intercepts blocking system calls to yield control to the scheduler, keeping the execution thread active.
  • Concurrency Libraries - Brings asynchronous, event-driven, and coroutine-based concurrency primitives to the PHP runtime.
  • Coroutine Orchestrators - Provides a coroutine orchestrator to manage the suspension and resumption of lightweight threads for asynchronous IO.
  • Task Schedulers - Executes tasks as lightweight threads using a portable task-dispatching implementation for asynchronous performance.
  • PHP Extension Bindings - Binds high-performance C++ networking and concurrency primitives directly to the PHP runtime.
  • High-Performance Server - Provides a high-performance runtime optimized for low-latency network I/O and high-throughput request handling in PHP.
  • Non-blocking IO Architectures - Transforms standard blocking network and file calls into asynchronous operations using non-blocking IO architectures.
  • Shared Memory Management - Provides high-speed shared memory tables and ring buffers for state synchronization across multiple PHP processes.
  • Event-Driven I/O - Manages high volumes of concurrent network connections using platform-specific event notification systems.
  • Network Protocol Implementations - Implements support for standard network protocols used in web, messaging, and proxy services.
  • Real-time Communication - Implements protocols and patterns for maintaining persistent connections and low-latency data streaming.
  • Socket Networking - Provides low-level asynchronous socket polling to monitor network events and return responses upon trigger.
  • Asynchronous File System Drivers - Performs file operations without blocking the main execution thread using high-performance system interfaces.
  • Channel-Based Concurrency - Provides communication mechanisms for safe data exchange and synchronization between concurrent coroutines.
  • Timer Schedulers - Provides interfaces for scheduling asynchronous callbacks using non-blocking timers and intervals.
  • Asynchronous File I/O - Provides high-performance asynchronous file system interfaces that prevent disk operations from blocking the main execution thread.
  • Worker Pool Models - Uses a worker-pool model to distribute incoming network requests from a main reactor to background processes.
  • Worker-Task Dispatch Models - Runs network applications using worker and task-worker patterns for asynchronous request dispatch.
  • Inter-Process Communication - Enables bidirectional data exchange between concurrent coroutines using thread-safe communication channels.
  • Event and Async Programming - Provides a high-performance concurrent networking framework.

Star history

Star history chart for swoole/swoole-srcStar history chart for swoole/swoole-src

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Swoole Src

These projects share indexed features with Swoole Src. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • yuesong-feng/30daymakecppserveryuesong-feng avatar

    yuesong-feng/30dayMakeCppServer

    7,040View on GitHub↗

    This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance network library focused on event-driven architecture, implementing a reactor pattern to handle thousands of simultaneous client connections. The framework is distinguished by its multi-threaded event loop, which utilizes a main-sub reactor coordination model to distribute network events across a worker thread pool. It includes an abstraction layer for non-blocking socket I/O and event multiplexing via the epoll system call, decoupling network transport from application business

    C++cppcppserverepoll
    View on GitHub↗7,040
  • walkor/workermanwalkor avatar

    walkor/workerman

    11,547View on GitHub↗

    Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build high-concurrency network servers, including an asynchronous TCP framework, a coroutine library for task management, and dedicated implementations for HTTP and WebSocket servers. The project enables the development of specialized network services using custom frame-based communication protocols. It supports both inbound concurrent server implementation and asynchronous outbound connectivity to remote services. The framework covers a broad range of network programming capabili

    PHPasynchronousevent-drivenhigh-performance
    View on GitHub↗11,547
  • eventmachine/eventmachineeventmachine avatar

    eventmachine/eventmachine

    4,283View on GitHub↗

    EventMachine is a reactor-pattern network framework for Ruby that provides an asynchronous I/O library for performing non-blocking network and file operations. It functions as a network server framework used to build scalable TCP and UDP servers and clients that process multiple simultaneous requests. The framework implements a concurrency model that dispatches network events to registered handlers using a single-threaded event loop. This approach allows for the management of high-concurrency network connections without the overhead of multi-threaded programming. The library covers the devel

    Ruby
    View on GitHub↗4,283
  • userver-framework/userveruserver-framework avatar

    userver-framework/userver

    2,811View on GitHub↗

    userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable microservices. It provides a high-performance execution environment for deploying services that communicate via gRPC and HTTP using a middleware-based request pipeline. The platform distinguishes itself through a distributed service orchestration toolset that manages shared state, distributed locking, and dynamic configuration updates without requiring process restarts. It utilizes a coroutine-based asynchronous execution model and event-loop network I/O to handle high-concurr

    C++asyncasynchronouscoroutines
    View on GitHub↗2,811
Compare all 30 related projects→

Frequently asked questions

What does swoole/swoole-src do?

Swoole is a coroutine-based concurrency library and IO framework for PHP. It provides a system for building high-performance network servers and applications by bringing asynchronous, event-driven, and coroutine-based concurrency to the PHP runtime.

What are the main features of swoole/swoole-src?

The main features of swoole/swoole-src are: Stack-Based Coroutine Schedulers, PHP, Asynchronous Database Drivers, Shared Memory Data Exchange, User-Space Concurrency, Asynchronous Network Clients, Server Frameworks, Reactor Patterns.

Which projects share features with swoole/swoole-src?

Projects with overlapping indexed features include: yuesong-feng/30daymakecppserver — This project is a C++ TCP server framework and educational socket programming guide. It provides a high-performance… walkor/workerman — Workerman is an event-driven asynchronous socket framework for PHP. It provides the core components necessary to build… userver-framework/userver — userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable… eventmachine/eventmachine — EventMachine is a reactor-pattern network framework for Ruby that provides an asynchronous I/O library for performing… balloonwj/cppguide — CppGuide is a curated collection of educational resources and practical guides focused on C++ server development,… idealvin/coost — Coost is a concurrent network framework and coroutine scheduler designed for building high-performance TCP, HTTP, and…