[RFC] True native async implementations
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.1k
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 96
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el PHP RFC enlazado y la rama de código fuente true-async-stable; después, revisa las discusiones referenciadas y el contexto de los benchmarks. El issue no define archivos específicos, pruebas, límites de implementación ni criterios de aceptación, por lo que completarlo requeriría primero acordar el diseño y el alcance.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, php
- Área
- backend
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 20/100