窗户上的纱线慢了5倍

Att*_*emi 35 javascript windows yarnpkg

当我添加一个新的包到现有的安装yarn install已经运行时,它仅需5分钟,添加一个新的依赖,这是因为如果我只是做慢yarn installnode_modules那里.

这是正常的吗?

我在Windows 10 x64上使用Yarn 0.17.9.我确实让Windows Defender忽略了我的项目目录和yarn全局缓存目录.

编辑:这是我做的一些基准测试结果.基于它们,似乎纱线添加实际上要快30-40%,真正的问题只是纱线在Windows上慢了500%

编辑2:我已确认尚未为项目和纱线缓存目录启用索引.但现在我已将纱线从0.16.1升级到0.17.9,并且Windows的速度提高了35-50%!但它仍然比Linux慢350-400%.我更新了基准测试.

对于Windows性能问题似乎存在Github问题:https://github.com/yarnpkg/yarn/issues/990

基准:

-

Windows - 纱线安装(缓存):

Done in 172.29s.
Run Code Online (Sandbox Code Playgroud)

Ubuntu - 纱线安装(缓存):

yarn install  48,75s user 11,32s system 117% cpu 51,161 total
Run Code Online (Sandbox Code Playgroud)

-

Windows - 纱线添加lodash:

Done in 143.11s.
Run Code Online (Sandbox Code Playgroud)

Ubuntu - 纱线添加lodash:

yarn add lodash  33,42s user 5,72s system 108% cpu 36,203 total
Run Code Online (Sandbox Code Playgroud)

-

仅供参考,Ubuntu基准测试在NTFS驱动器上的同一文件夹上运行.

用于基准测试的项目:https://github.com/amcsi/szeremi

Ale*_*xey 19

在工作文件夹和纱线缓存文件夹上禁用Windows搜索索引以及完全禁用Windows防御程序或在文件夹上禁用Windows应该可以显着提高性能.对于使用SSD驱动器的类似系统,我的性能下降了30-50%,原来时间与你的一样.

在Yarn缓存文件夹上禁用它也可以为您提供一些加速.默认情况下yarn cache dir,它的位置由命令显示%USERPROFILE%\Local Settings\Yarn\cache.

要在文件夹上禁用搜索索引,请在资源管理器中找到它,右键单击,然后选择属性 - 常规 - 高级,取消选中"允许此文件夹中的文件除了文件属性之外还有索引内容"复选框,然后应用更改.

这个性能问题已经存在于yarn github(2016年10月)并且仍然是开放的:https://github.com/yarnpkg/yarn/issues/990

  • 试过,没有任何帮助,我认为纱线很慢,因为将文件从缓存复制到probject需要很长时间.在Windows上,npm更快...特别是在慢速连接中,只有npm工作. (2认同)
  • 虽然一般禁用防病毒软件会加快速度,但在企业环境中这不会发生,通常需要减少 IO。 (2认同)

Cha*_*Ang 6

我的经验...

做 a 的yarn start速度非常慢。

我的设置。我在 Windows 10 家庭版上运行 WSL2 Ubuntu 20。我的 WSL src 目录有一个到 windows c:\Users\chai 的符号链接(而不是 WSL 拥有的任何文件系统,即本机 WSL 文件系统)。IE。

Filesystem      Size  Used Avail Use% Mounted on
C:\             476G  395G   82G  83% /mnt/c
Run Code Online (Sandbox Code Playgroud)

我正在运行通过 WSL2 Ubuntu 安装的纱线(即,它是 Linux 版本,而不是 Windows 版本的纱线)。V慢。

我进行了实验并将相同的 src 文件复制到非符号链接目录中。IE。在 ~/tmp 下,这是一个 WSL 文件系统,而不是在 Windows 文件系统下。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        251G   11G  228G   5% /
Run Code Online (Sandbox Code Playgroud)

现在的速度符合预期......即。正常(或相对于之前的行为,快得令人眼花缭乱)。

所以我现在在我的反应项目中使用后一种设置。