Question about performance
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- jupyter, python
- Ambito
- frontend, performance
Direzione di ricerca
Inizia riproducendo l'esempio Looking Glass in JupyterLab con ipympl e confronta la sua interazione con il backend Qt. Esamina il comportamento di draw_idle riportato e le versioni indicate di JupyterLab, ipympl e widget; il lavoro è completato quando viene identificata una causa concreta delle prestazioni e viene definito un miglioramento misurabile del rendering interattivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Jupyter Notebook
- Stelle
- 1.7k
- Fork
- 234
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di matplotlib/ipympl
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
matplotlib/ipympl#623 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
matplotlib/ipympl#622 · 13 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
matplotlib/ipympl#612 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
matplotlib/ipympl#611 · 4 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
matplotlib/ipympl#609 · 6 commenti ·
Tutte le issue di matplotlib/ipympl
Issue simili
-
Browser Waiting for: Product Owner
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
getsentry/sentry-javascript#24577 · 1 commento ·
-
Cannot differ own consent and managed consents in My Consents view and detailed consent view. Aperta1.0.0-alpha2 Type/Improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
wso2/dpdp-accelerator#272 ·
-
light
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
aemdemos/patients-stryker#253 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
clerk/javascript#9852 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
amponce/archive-movie-browser#165 ·