php / php/php-src

io_uring for stream_copy_to_stream

Abierto
#8,013 4 comentarios 5 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Category: Streams Feature Status: Needs Triage
Lenguaje dominante
C
Estrellas
40.4k
Forks
8.1k
Merge medio
2 d 13 h
PR fusionados (30 d)
96

Descripción

Description

Hello,

It would be really nice to implement io_uring like here https://lwn.net/Articles/879724/ (talked in hn on https://news.ycombinator.com/item?id=30144652) to get stream_copy_to_stream() really performant.
example code here : https://lwn.net/ml/linux-kernel/af0d6b3e-85d0-9b61-4acd-5eef1375f934@gmail.com/
It would help a lot of stream proxy in php to be handled directly in the kernel, and increase drastically the performance.

From many test, stream_copy_to_stream() is sadly "slow" because it didn't use any trick, like sendfile() or 0copy, but instead is just a warper for a classic read/write loop, no gain in performance.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

La solicitud menciona stream_copy_to_stream(), pero no identifica ningún archivo fuente ni prueba. Lee el artículo y el ejemplo de io_uring enlazados y, a continuación, localiza la implementación en C y las pruebas relacionadas con stream_copy_to_stream(). La tarea debería darse por terminada cuando incluya un enfoque de implementación acordado y la verificación de que funciona el comportamiento de rendimiento solicitado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, linux, php
Área
backend, performance
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.