Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speedup large notebooks: fix cache miss in notebook_to_js #2973

Merged
merged 3 commits into from
Aug 5, 2024

Conversation

fonsp
Copy link
Owner

@fonsp fonsp commented Aug 5, 2024

Fix #2958

We accidentally removed a caching system in 2183b0a#diff-def3c256c1eef2beff41b35619e1d28209bf7cbb56c223d408f6cf53ed98582dL139-R137 in 0.19.37 that led to a big slowdown in notebook_to_js for large notebooks.

This brings the notebook_to_js time for a big notebook from 250ms to 1.85ms.

I also changed the notebook_to_js to always use the cached topological order, even if a newer one is possible. Just because this field cell_execution_order is not even used by us, it's just there for future experiments.

@fonsp fonsp added backend Concerning the julia server and runtime performance labels Aug 5, 2024
Copy link
Contributor

github-actions bot commented Aug 5, 2024

Try this Pull Request!

Open Julia and type:

julia> import Pkg
julia> Pkg.activate(temp=true)
julia> Pkg.add(url="https://github.com/fonsp/Pluto.jl", rev="large-notebook-speedups")
julia> using Pluto

@fonsp
Copy link
Owner Author

fonsp commented Aug 5, 2024

@fonsp fonsp merged commit 4f8741c into main Aug 5, 2024
11 of 14 checks passed
@fonsp fonsp deleted the large-notebook-speedups branch August 5, 2024 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Concerning the julia server and runtime performance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Substantial slowdown (>x10) opening large notebooks starting from version 0.19.37
1 participant