v0.19.46
Try this release in your browser! (Available 30 minutes after the release)
Generate your own binder links using pluto-on-binder.glitch.me!
Comment
This is the fastest version of Pluto ever! This release optimises the overhead of Pluto: the extra time it takes to run a cell (on top of the time that your codes takes). You mostly notice this overhead for large notebooks (>100 cells), and when using @bind
.
The overhead in Pluto 0.19.46, compared to the previous version, is:
- 2x lower on a notebook with 100 cells
- 5x lower on a notebook with 200 cells
- 40x lower on a notebook with 500 cells
This means that notebooks with >500 cells are super snappy again! A notebook with 500 cells can do a reactive run in 20ms, this used to take 1 second.
I also tested some old Pluto versions. The overhead in Pluto 0.19.46 is 1.6x lower than any previous Pluto version from the past 2 years.
Performance improvements
- Speedup large notebooks: fix cache miss in
notebook_to_js
(#2973) (@fonsp) - Optimize
deep_enough_copy
for faster notebook updates (#2974) (@fonsp) - Speedup large notebooks: cache cell dependencies in notebook_to_js (#2976) (@fonsp)
- Backend performance: delete stale connections (#2977) (@fonsp)
- Performance: state update throttle rework (#2979) (@fonsp)
- Performance: skip background status sync throttle during reactive run (#2981) (@fonsp)
- Properly cache some useEffects (#2995) (@fonsp)
- Substantial slowdown (>x10) opening large notebooks starting from version 0.19.37 (#2958)
- Performance: throttled status update loop impacts performance on large notebooks (#2978)
New features
Accessibility improvements
Fixes
- Pkg complete_remote_package Julia 1.11 compat (#2975) (@fonsp)
- Fix state out of sync issue caused by race condition (#2989) (@fonsp)
- Fix macroexpand on Julia 1.11 (#3000) (@fonsp)
- Too many intermediate bond values (#1891) (#2992) (@fonsp)
- Infinite stalls on bonds when computer is very fast (#2557)
- All cells appear as running when executing the notebook the first time (#2755)
- Open button doesn't work on Windows (#2762)
- Don't clear main menu file picker on blur (#2990) (@fonsp)
- IOContext not properly set for
stdout
, disables ANSI colors (#2823) (#2824) (@danielwe, @ReubenJ) - Cell running forever (#2904)
- Warning in terminal with Base.Threads.@threads and Plots.@gif and Plots.@Animate macros on Julia 1.11 (#2907)
- BitIntegers does not work in Julia 1.11 (#2984)
@bind
inside table always renders in "Safe Preview" mode (#2994)