Finding modules is a bottleneck for parallel checking on Windows

Abierto
#21,336 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python

Línea de trabajo

Reproduce el perfilado de la autocomprobación de Windows descrito en el issue, centrándote en el proceso coordinador durante la carga inicial del grafo. Rastrea la ruta de búsqueda de módulos y compara su tiempo con Mac/Linux; el trabajo estará terminado cuando una optimización medida reduzca el cuello de botella de Windows sin cambiar el comportamiento de comprobación.

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

Descripción

parallel checking performance

While doing some basic profiling on Windows, it looks like finding modules is a major bottleneck, taking most of the initial graph loading (part that cannot be parallelized currently). Here are example build stats from coordinator process (unimportant things skipped) on self-check:

find_module_time:       0.591
graph_load_time:        0.877
scc_wait_time:          3.639  # this is actual processing time

For comparison, finding modules on self-check takes 50-100ms on Mac/Linux. Not sure what exactly is going on here, but this may be something we want to try optimizing.

cc @JukkaL @emmatyping

Lenguaje dominante
Python
Estrellas
20.6k
Forks
3.3k
Merge medio
1 d 18 h
PR fusionados (30 d)
54

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.

Más de python/mypy

Todos los issues de python/mypy

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.