Pluto.jl icon indicating copy to clipboard operation
Pluto.jl copied to clipboard

[Windows] Pluto very slow in Windows with simple command.

Open hungpham3112 opened this issue 2 years ago • 3 comments

I'm still new with Pluto, I don't know how to make Pluto faster to me but today I type:

versioninfo()

in the notebook.

image

The loading line in the picture quite laggy and I had to wait 5 minutes to done.

Julia version:

Julia Version 1.7.2
Commit bf53498635 (2022-02-06 15:21 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, tigerlake)

Version of Pluto: lastest.

hungpham3112 avatar Apr 27 '22 14:04 hungpham3112

Is Pluto often slow? Does versioninfo() always take 5 minutes? How long does it take in the Julia REPL? Are there other commands that are also slow?

fonsp avatar Apr 29 '22 13:04 fonsp

Is Pluto often slow? Does versioninfo() always take 5 minutes? How long does it take in the Julia REPL? Are there other commands that are also slow?

Pluto often slow to me. versioninfo() sometimes take me 5 minutes? It's take 1s to run in Julia REPL? Other command slow too.

https://user-images.githubusercontent.com/75968004/166087068-d84b2100-7590-4bdc-9a09-0dbb37c0e151.mp4

Today when I spend time to test with Pluto. I found some the same issue.

First test: When running Pluto with Pluto.run(), everything ok and good. Then I open file.jl with no error in that file, it's slow but ok too. Try to make a typo or a logic error in file.jl before close.

https://user-images.githubusercontent.com/75968004/166087307-eee47318-907d-4f5a-a505-d2033bb53920.mp4

Second test: Stop old Pluto session, reopen it with Pluto.run(), everything still good. Reopen 'fiile.jl' and wait the notebook freeze for around 5 minutes. AFAIK, it seems like Pluto was trying to parse all the notebook at the same time, but when detect the error it have to spend a lot of time to parse that.

https://user-images.githubusercontent.com/75968004/166087505-3daf57b6-0706-4041-8c82-fadab57fced7.mp4

Note: In the second test, I know where the error located and tried to fix that and save it with <C-s>, but reopen it the error still there and I have to wait the notebook done to work like normal.

hungpham3112 avatar Apr 30 '22 02:04 hungpham3112

Thanks for the videos! Unfortunately, all of this slowness is Julia's Just-In-Time compiler, which can take quite some time to run code for the first time. Pluto itself is written in Julia, which means that it needs to compile. We are doing a lot of work on improving Pluto's compilation overhead: https://github.com/fonsp/Pluto.jl/pulls?q=is%3Apr+sort%3Aupdated-desc+label%3Aperformance+ and Julia is also becoming faster with each update.

The last two notebooks are slow because they use Plots.jl, which is a very large package, that can take a lot of time to run in a new process.

fonsp avatar May 07 '22 13:05 fonsp