[RFC] True native async implementations
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 40.4k
- Fork
- 8.1k
- Merge medio
- 2g 13h
- PR unite (30g)
- 96
Descrizione
Highlights
🏅 Top 1 performance in synthetic benchmark
⚡ 30,000% faster latency in Laravel
RFC: https://wiki.php.net/rfc/true_async
Source: https://github.com/true-async/php-src/tree/true-async-stable
True Async Author: @EdmondDantes
Interests
There is also quite a bit of interest in true async as the exchanges here https://externals.io/message/129690#129944 and here https://github.com/orgs/true-async/discussions/9
Description
It was demonstrated that PHP-based framework can beat many frameworks with async, see here:
https://www.http-arena.com/leaderboard/#v=composite&res=mem
It should be noted in the past, during techempower benchmark, actix is among the top contenders in web performance, but in httparena, php async framework scored higher with async/coroutine. While php is not entirely a framework, native async/coroutine is a promising potential
In other works, it also demonstrated massive performance improvement in average latency in Laravel from 4000 ms to 13ms for the same workload.
Misconceptions
-
Myth 1
Myth: Native async will mess up ALL of existing synchronous PHP code and projects globally!
Truth: Actually no, you have to explicitly define a function/class/namespace to have an async property, otherwise all synchronous codes and projects will happily run as usual as if there is no native async.
-
Myth 2
Myth: Great, now I have to think async when coding new project
Truth: Actually no, just DON'T define your functions/class/namespace as async then you will be happy with your old php self
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il PHP RFC collegato e il branch del codice sorgente true-async-stable, quindi esamina le discussioni referenziate e il contesto dei benchmark. L’issue non definisce file specifici, test, limiti di implementazione o criteri di accettazione, quindi per completarla sarebbe prima necessario concordare il design e l’ambito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, php
- Ambito
- backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 20/100