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
amphp avatar

amphp/amp

0
View on GitHub↗
4,419 stars·258 forks·PHP·MIT·26 viewsamphp.org/amp↗

Amp

Amp is a non-blocking concurrency framework for PHP. It provides a core infrastructure for writing asynchronous applications using an event loop to schedule operations, timers, and signals within a single process.

The project implements a coroutine library that utilizes fibers to suspend and resume function execution. This allows the system to handle concurrent tasks without blocking the main execution thread, optimizing CPU usage during input and output operations. It further manages pending operation results through a future and promise implementation.

The framework covers a broad range of coordination capabilities, including non-blocking I/O multiplexing, token-based task cancellation for aborting long-running operations, and strategies for awaiting the completion of multiple concurrent tasks. It also includes mechanisms for recurring task scheduling and execution pausing.

Features

  • Async Event Loop Runtimes - Provides a core event loop runtime that schedules and executes asynchronous operations, timers, and signals within a single process.
  • Fiber-Based Concurrent Execution - Utilizes PHP fibers to execute lightweight, non-blocking coroutines that scale concurrent tasks efficiently.
  • Asynchronous Task Execution - Executes functions as interruptible units of work to allow other operations to run during waits.
  • Future-Based Result Handling - Manages pending operation results using a future and promise implementation to trigger dependent tasks.
  • Non-blocking PHP Frameworks - Provides a comprehensive framework for writing non-blocking PHP applications using fibers and an event loop.
  • Asynchronous Task Managers - Provides a framework for coordinating concurrent background operations and non-blocking task execution in PHP.
  • Concurrent Task Execution - Runs multiple units of work simultaneously by pausing and resuming execution to optimize CPU usage.
  • Non-blocking I/O - Handles multiple concurrent network or file streams using non-blocking I/O multiplexing.
  • Concurrency Frameworks - Offers a comprehensive framework for writing non-blocking PHP applications using fibers and event-loop coordination.
  • Event Loop Schedulers - Provides an event loop that schedules I/O operations and timers to trigger callbacks without blocking.
  • PHP Coroutine Runtimes - Provides a PHP-specific coroutine implementation for managing interruptible functions and cooperative multitasking.
  • Task Coordination Strategies - Awaits collections of tasks using strategies that wait for all completions, the first success, or a specific count.
  • Execution Yielding & Pausing - Provides mechanisms to suspend the current execution context for a specific time or until a signal is received.
  • Futures and Promises - Implements futures and promises to manage pending operation results and coordinate asynchronous task completion.
  • Asynchronous Task Cancellation - Provides token-based cancellation mechanisms to gracefully abort long-running asynchronous operations.
  • Background Processing - Enables running recurring tasks and background jobs in PHP without blocking the main execution thread.
  • Non-blocking Delays - Pauses a specific execution flow for a set duration while allowing other concurrent operations to continue.
  • Suspendable Execution - Pauses the current fiber for a specified duration or until a specific system signal is received.
  • Concurrent Coordination Strategies - Implements synchronization primitives to await multiple asynchronous tasks using specific success or failure strategies.
  • Manually Resolvable Futures - Allows resolving or failing asynchronous operations manually from within a producer.
  • Recurring Task Schedulers - Allows executing functions at fixed time intervals until manually stopped or removed.
  • Shared Asynchronous Results - Tracks pending operation values using placeholders that trigger callbacks or resume execution once ready.
  • Event and Async Programming - Provides an event-driven non-blocking I/O framework.

Star history

Star history chart for amphp/ampStar history chart for amphp/amp

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Open-source alternatives to Amp

Similar open-source projects, ranked by how many features they share with Amp.
  • socketry/asyncsocketry avatar

    socketry/async

    2,447View on GitHub↗

    This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that orchestrates non-blocking input and output operations, allowing developers to handle high-volume network traffic and system tasks without the complexity of traditional callback-based programming. By leveraging lightweight fibers, the library enables cooperative multitasking that maintains responsiveness during heavy data processing workloads. The framework distinguishes itself through a structured concurrency model that organizes tasks into parent-child hierarchies. This appr

    Rubyasyncasynchronousruby
    View on GitHub↗2,447
  • puniverse/quasarpuniverse avatar

    puniverse/quasar

    4,553View on GitHub↗

    Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state. The project distinguishes itself through a distributed actor system capable of operating across multiple cluster nodes with location-transparent registries and actor state migration. It utilizes a work-stealing fiber scheduler to manage millions of lightweight threads, allowing tasks to suspend during non-blocking I/O operations without stalling underlying system threads

    Javaactorsconcurrencyfibers
    View on GitHub↗4,553
  • async-rs/async-stdasync-rs avatar

    async-rs/async-std

    4,068View on GitHub↗

    async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library, providing a set of alternatives to the core Rust library for managing concurrent tasks, networking, and file system access. The project implements a standard-library-mirrored API, offering asynchronous versions of existing synchronous types to maintain a familiar interface. This approach allows for asynchronous Rust development using an interface that reflects the ergonomics of the language's standard library. The runtime includes a task executor for scheduling and executing

    Rustasyncasync-awaitasync-rust
    View on GitHub↗4,068
  • janet-lang/janetjanet-lang avatar

    janet-lang/janet

    4,308View on GitHub↗

    Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an embeddable scripting engine. It functions as a fiber-based concurrency runtime and includes a parsing engine based on Parsing Expression Grammars. The project is distinguished by its ability to be integrated into C or C++ applications via a minimal header interface. It utilizes a Lisp-style macro system for compile-time code transformation and employs prototype-based table inheritance for object-oriented behavior. The runtime covers a broad set of capabilities, including asynchronous

    Ccfunctional-languageimperative-language
    View on GitHub↗4,308
See all 30 alternatives to Amp→

Frequently asked questions

What does amphp/amp do?

Amp is a non-blocking concurrency framework for PHP. It provides a core infrastructure for writing asynchronous applications using an event loop to schedule operations, timers, and signals within a single process.

What are the main features of amphp/amp?

The main features of amphp/amp are: Async Event Loop Runtimes, Fiber-Based Concurrent Execution, Asynchronous Task Execution, Future-Based Result Handling, Non-blocking PHP Frameworks, Asynchronous Task Managers, Concurrent Task Execution, Non-blocking I/O.

What are some open-source alternatives to amphp/amp?

Open-source alternatives to amphp/amp include: socketry/async — This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that… puniverse/quasar — Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides… async-rs/async-std — async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library,… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O… janet-lang/janet — Janet is a Lisp-based dynamic programming language featuring a register-based bytecode virtual machine and an… hyperf/hyperf — Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes…