# Swoole

> Coroutines on an event loop, async I/O like Node.js, and no framework overhead per request. Blocking extensions stall the loop. Holds realtime connections at 20 KB each.

## Trade-offs

| Axis | Score |
| --- | --- |
| Throughput | |
| Tail latency | |
| Memory | |
| Velocity | |
| Resilience | |
| Operability | |

## Frameworks

- [Laravel](https://wiki.playquorum.dev/frameworks/laravel.md)
- [Symfony](https://wiki.playquorum.dev/frameworks/symfony.md)

## Engineering terms

- [Event loop](https://wiki.playquorum.dev/glossary/event-loop.md)
- [Async I/O](https://wiki.playquorum.dev/glossary/async-io.md)

## Facts

Swoole
- **Language:** PHP
- **Concurrency:** One event loop
- **Speed:** ×0.15
- **Memory:** 60 MB
- **Startup:** 0 s
- **Warm-up:** —
- **GC pause:** None
- **Unlocked by:** [Swoole](https://wiki.playquorum.dev/research/swoole.md)
- **Velocity:** ×1.2
- **Salary:** ×0.85
- **Build:** 0.5 min

## See also

- [Runtimes and frameworks](https://wiki.playquorum.dev/runtimes.md)
- [Laravel](https://wiki.playquorum.dev/frameworks/laravel.md)
- [Symfony](https://wiki.playquorum.dev/frameworks/symfony.md)

Source: https://wiki.playquorum.dev/runtimes/swoole
