Windows 10: Package operations slow

Erase .julia. Activate and instantiate an environment.
Windows 10:126 seconds
WSL2: 13 seconds

Is there a solution?

4 Likes

Have you benchmarked like, native Linux (for instance) on your machine?

Those times don’t seem wild to me. I think it has a lot to download, no?

?
126 seconds vs 13 seconds!

1 Like

OH! Sorry I’m not reading properly.

For me the times on Windows 10 are also bad, especially because this also happens whenever the registry has to be updated, which is during most pkg operations. I saw the older thread where the new pkg protocol was mentioned (but it’s not better on 1.5 or 1.6 which should use that) or the windows defender (can’t disable that on a work computer). I always have to leave what I’m doing for a couple minutes and check back periodically, which is a bit ridiculous for a quick update of some packages.

2 Likes

It is the General/registry unpacking (untarring) which is really long, as NTFS seems to take a very long time to recreate each directory (A, B, … Z)

1 Like

Check the activity of the antivirus. The default windows anitvirus is going crazy everytime I add a package. I tried adding the .julia folder to the exception list but it still scans it.

There’s been two problems I’ve seen:

  • When using git, the antivitus slows things down a lot
  • When using the tar system, the untarring takes a lot of time.

I believe the plan is to read things directly from the tarball without explicitly unpacking it which should hopefully fix it.

5 Likes

I did that, time is exactly the same when I add .julia/registries to Windows Defender exceptions … may be it is not really deactivated, or maybe (what I tought after this experiment) it is really the untarring which is very long.

It seems that the “update” of General is really a full download/reinstall. Would it be possible to have a differential update ?

By the way I am not using the “git update”, but the new protocol (I did a “registry rm General; registry add General” just when I installed 1.5.1)

You can temporarily set the Windows defender of (I do this all the time. It resets itself after one day)

1 Like

Yes, when I do that, its a lot faster! But, that means that the “Windows Defender exceptions” set-up did not work …

Pkg first downloads and untars the registry to a temporary location, and only when that succeeds does it move it into place.

1 Like

Thanks for the explanation ! I understand now that, as you said earlier, the best fix should be to read entries directly for the tar without physically unpacking it on disk (or SSD).

But, as of now, a very quick fix could be that the “temporary location” for untarring (General) could be situated in a well known (specific to this regfstry update) folder, so by adding this well known location (and the normal “registries” one) to Defender exceptions, it could be really accelerated ? Do you think this kind of thing could be feasible ?

Else/in the mean time, as proposed by joa-quim, temporary disabling Defender is the only cure …

1 Like

More measurements: Status of Pkg speed improvements outside US in v1.5 - #3 by PetrKryslUCSD

I forgot about indexing on Windows. That may also add a few seconds to each clean install of Julia.