Question about performance
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- jupyter, python
- Área
- frontend, performance
Línea de trabajo
Empieza reproduciendo el ejemplo de Looking Glass en JupyterLab con ipympl y compara su interacción con el backend de Qt. Examina el comportamiento de draw_idle descrito y las versiones indicadas de JupyterLab, ipympl y widget; se considera terminado cuando se haya identificado una causa concreta de rendimiento y definido una mejora medible en el renderizado interactivo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the issue
I realise there has already been several issues opened about the performance of ipympl (e.g. #55), compared to other libraries that render in jupyter. But I still don't fully understand why the performance is so much worse than using e.g. the %matplotlib qt backend.
Take for example the 'Looking glass' example from the matplotlib docs.
The ineractivity is very nice in the Qt backend (more than enough for our purposes, even if not quite as snappy as javascript based libs such as bokeh or plotly), but terrible in jupyter lab (laggy and leaving phantom parts of the ellipse around the plot).
Is there really no way to improve the performance of interactivity in ipympl? (I have tried to use fig.canvas.draw_idle() instead of .draw(), and it helps a little but we are still so far behind the Qt backend.
Many thanks.
Versions
3.9.5 (default, Jun 4 2021, 12:28:51)
[GCC 7.5.0]
ipympl version: 0.8.2
Selected Jupyter core packages...
IPython : 7.29.0
ipykernel : 6.5.0
ipywidgets : 7.6.5
jupyter_client : 7.0.6
jupyter_core : 4.9.1
jupyter_server : 1.11.2
jupyterlab : 3.2.3
nbclient : 0.5.8
nbconvert : 6.3.0
nbformat : 5.1.3
notebook : 6.4.5
qtconsole : not installed
traitlets : 5.1.1
Known nbextensions:
config dir: /home/nvaytet/software/miniconda3/etc/jupyter/nbconfig
notebook section
ipycanvas/extension enabled
- Validating: OK
ipyevents/extension enabled
- Validating: OK
jupyter-datawidgets/extension enabled
- Validating: OK
jupyter-matplotlib/extension enabled
- Validating: OK
jupyter-threejs/extension enabled
- Validating: OK
jupyter_bokeh/extension enabled
- Validating: OK
jupyter_dash/main enabled
- Validating: OK
jupyterlab-plotly/extension enabled
- Validating: OK
jupyter-js-widgets/extension enabled
- Validating: OK
JupyterLab v3.2.3
/home/nvaytet/software/miniconda3/share/jupyter/labextensions
ipycanvas v0.12.0 enabled OK
ipyevents v2.0.1 enabled OK
jupyter-matplotlib v0.10.2 enabled OK
jupyterlab-datawidgets v7.0.0 enabled OK
jupyterlab-plotly v5.4.0 enabled OK
jupyter-threejs v2.3.0 enabled OK (python, pythreejs)
@jupyter-widgets/jupyterlab-manager v3.0.1 enabled OK (python, jupyterlab_widgets)
@bokeh/jupyter_bokeh v3.0.2 enabled OK (python, jupyter_bokeh)
Other labextensions (built into JupyterLab)
app dir: /home/nvaytet/software/miniconda3/share/jupyter/lab
jupyterlab-dash v0.4.0 enabled OK
Build recommended, please run `jupyter lab build`:
jupyterlab-dash needs to be included in build
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 1.7k
- Forks
- 234
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 matplotlib/ipympl
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
matplotlib/ipympl#623 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
matplotlib/ipympl#622 · 13 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
matplotlib/ipympl#612 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
matplotlib/ipympl#611 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
matplotlib/ipympl#609 · 6 comentarios ·
Todos los issues de matplotlib/ipympl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
clerk/javascript#9852 ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
amponce/archive-movie-browser#165 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Block] Latest Posts [Type] Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
gitbutlerapp/gitbutler#15998 · 1 comentario ·