Discussion: Should functions in lowpp layer be `def` rather than `cpdef`?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Área
- backend
Línea de trabajo
Empieza por localizar las funciones en la capa lowpp y revisar cómo se exponen a Cython y Python. Compara el comportamiento cpdef existente con las restricciones indicadas de .pyi y rendimiento, y después comprueba la discusión para ver si se ha tomado una decisión. Se considera terminado cuando el proyecto haya acordado si debe mantenerse la exposición a Cython; el issue no identifica archivos ni pruebas específicos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Functions in the lowpp layer are currently declared with cpdef, so they are exposed to both Cython and Python. However, we have always claimed that the Cython interface is not stable, and shouldn't be relied on.
A couple discoveries today are making me wonder whether we want to keep exposing the lowpp layer to Cython at all:
- Calling a
cpdeffunction from Python has an additional 50ns of overhead vs. adeffunction (the Python layer delegates to an underlying layer and there is additional work done at that boundary). cpdeffunctions can not have their return type annotated, which is a blocker for proper.pyisupport for the lowpp layer.
Is Cython access at the lowpp layer providing any value here? Could we just s/cpdef/def/g and get more performance and a more Pythonic experience?
- Lenguaje dominante
- Cython
- Estrellas
- 3.4k
- Forks
- 329
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 117
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.
Más de NVIDIA/cuda-python
-
bug cuda.core
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
NVIDIA/cuda-python#2886 · 1 comentario ·
-
triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
NVIDIA/cuda-python#2717 ·
-
triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
NVIDIA/cuda-python#2712 ·
-
[BUG]: LocatedHeaderDir is mutable, so callers can poison the cached header-directory lookup Abiertotriage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NVIDIA/cuda-python#2646 · 1 reacción ·
-
cuda.core triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
NVIDIA/cuda-python#2435 · 1 comentario ·
Todos los issues de NVIDIA/cuda-python
Issues similares
-
Area: Excel support
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
orbeon/orbeon-forms#7893 ·
-
essnmx good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yeti-platform/yeti#1380 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/python-sdk#3566 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
griptape-ai/griptape#2353 ·