Yarn: НуТна большая оптимизация ΠΏΠΎΠ΄ Windows

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 13 ΠΎΠΊΡ‚. 2016  Β·  80ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: yarnpkg/yarn

Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ _Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ_ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ _ ΠΎΠ± ошибкС?

Π₯арактСрная Ρ‡Π΅Ρ€Ρ‚Π°

Каково Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?

Π― ΠΌΠ½ΠΎΠ³ΠΎ тСстировал ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ установки ΠΌΠ΅ΠΆΠ΄Ρƒ MacOS ΠΈ Windows. Будя ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, каТСтся, Ρ‡Ρ‚ΠΎ yarn ΠΈΠΌΠ΅Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ для Windows. НапримСр, Π²ΠΎΡ‚ сравнСниС установки react-native :


Π˜ΡΠΏΡ‹Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹:

  • ThinkPad X1 Carbon 4, Ρ‚Π²Π΅Ρ€Π΄ΠΎΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ PCI-E 1 Π’Π‘, ΠΏΠ°ΠΌΡΡ‚ΡŒ 16 Π“Π‘
  • MacBook Air 2014, Ρ‚Π²Π΅Ρ€Π΄ΠΎΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ 256 Π“Π‘, ΠΏΠ°ΠΌΡΡ‚ΡŒ 4 Π“Π‘

НСт кСша ΠΈ Ρ‚Π° ΠΆΠ΅ сСтСвая срСда


MacOS

[email protected] : 1 ΠΌΠΈΠ½ . 31 сСк .

2016-10-13 17 52 24

[email protected] : 39s

2016-10-13 17 54 53


Windows

[email protected] : 2 ΠΌΠΈΠ½ . 24 сСк .

2

[email protected] : 2ΠΌ 19с

1


Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ yarn Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ npm Π² Windows. ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сталкивался с Ρ‚Π°ΠΊΠΎΠΉ Π²Π½Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒΡŽ?

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ваш node.js, yarn ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.
nodejs: 6.8.0
пряТа: 0.15.1
ОБ: Windows 10 14393.321 и MacOS 10.12

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@cpojer Π”ΡƒΠΌΠ°ΡŽ, ΠΎΠ½ΠΈ ΠΏΡ€Π°Π²Ρ‹. На ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅Ρ‚ антивирусного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΡ€ΠΎΠΌΠ΅ прСдустановлСнного Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows, поэтому я Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ» сканированиС ΠΏΠ°ΠΏΠΊΠΈ глобального кСша ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π» нСсколько тСстов:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 128.08 с.

2


Π‘Π΅Π· сканирования ΠΏΠ°ΠΏΠΊΠΈ кСша: 104,43 с

3


НС ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 78,28 с

5


Π‘Π΅Π· сканирования ΠΏΠ°ΠΏΠΊΠΈ кСша ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 53,48 с

4


Π₯отя ΠΎΠ½ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Mac Π½Π° 10+ с, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прирост.

Π― Π΄ΡƒΠΌΠ°ΡŽ, ΠΎΠ± этом слСдуСт ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ВсС 80 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

+1

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, @OshotOkill! Бпасибо, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Yarn. Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Cygwin ΠΈΠ»ΠΈ WSL (Β«Bash Π² Ubuntu Π² WindowsΒ»)? Оба, ΠΊΠ°ΠΊ извСстно, ΠΈΠΌΠ΅ΡŽΡ‚ довольно ΠΏΠ»ΠΎΡ…ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° диска.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, React Native ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ„Π°ΠΉΠ»ΠΎΠ², поэтому ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ… Π² node_modules происходит довольно ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π° Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π½Π° диск для большого количСства Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Windows ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Mac OS (которая сама ΠΏΠΎ сСбС ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Linux ext4). Π£ нас Π΅ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ТСсткими ссылками (# 499), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² этом сцСнарии.

НСт кСша ΠΈ Ρ‚Π° ΠΆΠ΅ сСтСвая срСда

ОсновноС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ с Yarn - это ΠΊΠΎΠ³Π΄Π° Ρƒ вас Ρ‚Π΅ΠΏΠ»Ρ‹ΠΉ кСш (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ установили ΠΏΠ°ΠΊΠ΅Ρ‚ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·), Π½ΠΎ с React Native ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

@ Daniel15 НСт, я Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Cygwin / MinGW / MSYS2 ΠΈΠ»ΠΈ WSL (послСдний Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·-Π·Π° слоТной ошибки).

Богласно Π²Π°ΡˆΠ΅ΠΌΡƒ описанию, я ΠΌΠΎΠ³Ρƒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой (NTFS), Π²Π΅Ρ€Π½ΠΎ? Π”Π°ΠΆΠ΅ Ссли сущСствуСт Ρ‚Π΅ΠΏΠ»Ρ‹ΠΉ кСш, процСсс копирования всС Ρ€Π°Π²Π½ΠΎ выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π² MacOS.

НадСюсь, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π°ΠΉΠ΄ΡƒΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ.

Π― Π²ΠΈΠΆΡƒ Ρ‚ΠΎ ΠΆΠ΅ самоС.

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ установку, ΠΏΡ€ΠΎΡ‚Ρ€ΠΈΡ‚Π΅ node_modules, установитС

MacBookPro Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 17 сСкунд, ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ с Windows - 122 сСкунды.

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с постоянным сканированиСм антивирусным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм node_modules ΠΈ глобального кСша пряТи. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ для этих ΠΏΠ°ΠΏΠΎΠΊ?

@cpojer Π”ΡƒΠΌΠ°ΡŽ, ΠΎΠ½ΠΈ ΠΏΡ€Π°Π²Ρ‹. На ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅Ρ‚ антивирусного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΊΡ€ΠΎΠΌΠ΅ прСдустановлСнного Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows, поэтому я Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠ» сканированиС ΠΏΠ°ΠΏΠΊΠΈ глобального кСша ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π» нСсколько тСстов:

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: 128.08 с.

2


Π‘Π΅Π· сканирования ΠΏΠ°ΠΏΠΊΠΈ кСша: 104,43 с

3


НС ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 78,28 с

5


Π‘Π΅Π· сканирования ΠΏΠ°ΠΏΠΊΠΈ кСша ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: 53,48 с

4


Π₯отя ΠΎΠ½ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Mac Π½Π° 10+ с, Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ прирост.

Π― Π΄ΡƒΠΌΠ°ΡŽ, ΠΎΠ± этом слСдуСт ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с постоянным сканированиСм антивирусным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм node_modules ΠΈ глобального кСша пряТи.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΡƒΠ»ΠΎΠ²! Π― ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π·Π°Π±Ρ‹Π» ΠΎΠ± этом, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ мСня ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ c:\src Π±Π΅Π»ΠΎΠΌ спискС Π½Π° ΠΌΠΎΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….

@OshotOkill - Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос Π½Π° https://github.com/yarnpkg/website/blob/master/en/docs/_installations/windows.md (Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ прямо Π½Π° Github). Π‘ΡƒΠ΄Ρƒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»Π΅Π½ πŸ˜„

Π― Π½Π΅ Π±Ρ‹Π» Ρ‚Π°ΠΊΠΈΠΌ Π΄ΠΎΡ‚ΠΎΡˆΠ½Ρ‹ΠΌ, ΠΊΠ°ΠΊ @OshotOkill , Π½ΠΎ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для своСго источника ΠΈ ΠΏΠ°ΠΏΠΊΠΈ установки ΡƒΠ·Π»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ» Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ yarn, npm ΠΈ node, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ врСмя ΠΌΠΎΠ΅ΠΉ Π½ΠΎΠ²ΠΎΠΉ установки Π² Windows ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»ΠΎΡΡŒ Π΄ΠΎ 50 сСкунд с 122 сСкунд .

@ Daniel15 PR Π³ΠΎΡ‚ΠΎΠ². ΠŸΡ€ΠΎΡˆΡƒ прощСния Π·Π° ΠΌΠΎΠΉ ΠΏΠ»ΠΎΡ…ΠΎΠΉ английский.

PR Π±Ρ‹Π» объСдинСн. Π—Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π­Ρ‚ΠΎ всС Π΅Ρ‰Π΅ ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Π΄Π°ΠΆΠ΅ Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ антивирус ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows. Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это просто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° срСды (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это антивирусноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅), Π½ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ yarn пытаСтся ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, 1 Π½Π° 1, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ установитС ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ просто Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ / ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ? Если Π±Ρ‹ Ρƒ мСня Π±Ρ‹Π» установлСн webpack ΠΈ ΠΎΠ½ Π½Π΅ измСнялся ΠΏΡ€ΠΈ установкС rimraf , Π΅Π³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ снова ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· кСша Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ node_modules.

Π― Ρ‚ΠΎΠΆΠ΅ написал ΠΎΠ± этом ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π° StackOverflow: http://stackoverflow.com/questions/40566222/yarn-5x-slower-on-windows

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, Π² ΠΌΠΎΠΈΡ… тСстах Ubuntu (с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ) я использовал Ρ‚ΠΎΡ‚ ΠΆΠ΅ диск NTFS, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Windows; ΠΈ Ρ‚Π°ΠΌ всС Π΅Ρ‰Π΅ быстро.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ node.exe Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows Π΄Π°Π»ΠΎ ΠΌΠ½Π΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ http://126kr.com/article/1884rsed7l

Π― ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ!

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ 212 -> 170 сСкунд
ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Π½ΠΎ Π΅Π³ΠΎ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ всС Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² 3 Ρ€Π°Π·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π² Linux.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», - слуТба индСксирования Π² Windows пытаСтся ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² node_modules.
МнС это Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, поэтому я ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π΅Π³ΠΎ http://www.softwareok.com/?seite=faq-Windows-10&faq=53 ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Мои ΠΎΠΊΠ½Π° Π½Π΅ настроСны Π½Π° индСксированиС рассматриваСмого ΠΏΡƒΡ‚ΠΈ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Подводя ΠΈΡ‚ΠΎΠ³, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ 4 способа ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ:

  • Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π±Π΅Π»Ρ‹ΠΉ список ΠΈΠ· AV
  • Π‘Π΅Π»Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ кэша пряТи ((% LocalAppData% Yarn)) ΠΎΡ‚ AV
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ node.exe Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows
  • ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ слуТбы индСксирования Π² Windows Π² ΠΏΠ°ΠΏΠΊΠ΅ node_modules

@Altiano Π΄Π°, Π½ΠΎ этого всС Π΅Ρ‰Π΅ нСдостаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Mac / Linux

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΡ‡Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ придСтся ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ AV ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ пряТа Π±Ρ‹Π»Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ быстрой ΠΈΠ»ΠΈ быстрСС, Ρ‡Π΅ΠΌ npm. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², для npm этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Π― Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ пряТу, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π»Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° быстрая, Π° Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ установки сдСлали ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСти ΠΏΡ€Π°Π²Π΄ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ. НСт возмоТности ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡƒ?

Π’ соотвСтствии с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, связанными здСсь ΠΈ коммСнтариями Π²Ρ‹ΡˆΠ΅, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ снова ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π›ΠΈΡ‡Π½ΠΎ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСй тСстовой ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ нСсколько связанных Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Π° Π½Π΅ сам Yarn, Ρ‚.Π΅. эталонная ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SSD Π½Π° MacBook ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π½Π° машинС Windows.

@OshotOkill, ΠΊΠ°ΠΊ я сказал Ρ€Π°Π½Π΅Π΅, Ρƒ мСня ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² 3,5 Ρ€Π°Π·Π° Π½ΠΈΠΆΠ΅ Π² Windows ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Linux с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ индСксами ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ПК Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ дискС _ntfs_. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π½Π° ntfs ΠΎΠ½ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС Π½Π° Linux.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ этого.
ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ NTFS Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π° большом количСствС Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π²ΠΎ врСмя установки?

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ способом воспроизвСсти это Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС?
НапримСр, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ package.json, установлСнный Π½Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ с Windows, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ X сСкунд, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² VirtualBox Ubuntu X-20% сСкунд.

@amcsi @bestander Как это часто Π±Ρ‹Π²Π°Π΅Ρ‚, EXT4 / XFS быстрСС ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². Однако NTFS Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Π― просто очистил кСш ΠΈ снова протСстировал Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Yarn and Node (0.19.1 ΠΈ 7.5.0):

a

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ MacBook ΠΏΡ€ΠΈ установкС react-native . ВсС, Ρ‡Ρ‚ΠΎ я сдСлал, это просто внСс Π² Π±Π΅Π»Ρ‹ΠΉ список связанныС ΠΏΠ°ΠΏΠΊΠΈ ΠΈ процСсс Node.exe.

Π£ мСня сама Π±Ρ‹Π»Π° эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΠΊΠ° я Π½Π΅ внСс Π² Π±Π΅Π»Ρ‹ΠΉ список процСссы node.exe ΠΈ yarn.exe Π² Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ΅ Windows вмСстС с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π― Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π» ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡƒΡŽ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ ΠΈ Π½Π΅ внСс Π² Π±Π΅Π»Ρ‹ΠΉ список ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ кСша Yarn. ВрСмя установки ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΎΡΡŒ с 190+ сСкунд Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 25 сСкунд ΠΈΠ· чистого кСша. Моя машина с Ubuntu Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Π½ΠΎ всСго Π½Π° 5-10 сСкунд.

Fresh Yarn install

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ оборудования:
512 Π“Π‘ SSD
12 Π“Π‘ ΠžΠ—Π£
8-ядСрный процСссор AMD FX-8350 с частотой 4,01 Π“Π“Ρ†
64-разрядная вСрсия Windows 10, сборка 14986.

Π― просто ΠΏΡ€ΠΎΠ²Π΅Π» нСсколько быстрых тСстов Π½Π° своСй собствСнной систСмС. Π£ мСня Linux Mint ΠΈ Windows 10 с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ SSD. Π― очистил кСш пряТи, ΡƒΠ΄Π°Π»ΠΈΠ» node_modules ΠΈ запустил yarn Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ vue .

Linux Mint: _12.22s_

yarnlinuxmint

Windows 10 (бСз бСлого списка): _64.32s_

yarnwindows10

Windows 10 (с Π±Π΅Π»Ρ‹ΠΌ списком): _42.58s_

yarnwindows10_withexclusions

Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows:
yarnwindows10_exclusions

Π₯отя Π±Π΅Π»Ρ‹ΠΉ список Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π» Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ эффСкт, ΠΎΠ½ всС ΠΆΠ΅ Π½Π΅ приблизился ΠΊ скорости Π² Linux.

Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠ’Π¬: Для @bestander Π²ΠΎΡ‚ ΠΌΠΎΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

| ОБ | РасчСт | НормализованныС Π΄Π°Π½Π½Ρ‹Π΅ |
| --- | --- | --- |
| Linux Mint | 12.22 / 12.22 | 1 |
| Windows 10 | 64.32 / 12.22 | 5.2635 |
| Windows 10 (с Π±Π΅Π»Ρ‹ΠΌ списком) | 42,58 / 12,22 | 3.4845 |

@keawade Π£ мСня Π±Ρ‹Π»ΠΎ 26,48 с для установки вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ· чистого кСша ΠΈ 13,58 с для Π΅Π³ΠΎ установки с кСшСм.

keawade.github.io

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Yarn.cmd ΠΈΠ· установщика MSI, ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Yarn, ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ· NPM. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ нСсоотвСтствиС?

@nozzlegear Π₯отя это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΌΠ΅Π½Π΅Π΅ вСроятно, Ρ‡Π΅ΠΌ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.

Нам Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· этого ΡΠ΅Ρ‚ΡŒ.
Π’ настоящСС врСмя я ΠΌΠΎΠ³Ρƒ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это Ρ€Π΅ΠΏΠΎ Π½Π° послСднСй вСрсии Windows 10 с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Β«Linux Π² WindowsΒ».
Как Ρ‡Π΅Ρ€Π΅Π· CMD, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· Bash с ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌΠΈ кСшами установка Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 27-29 сСкунд Π½Π° 2-ядСрном процСссорС i7.

@keawade , ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ тСст с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ модулями node_modules, Π½ΠΎ с установлСнными кСшами?

Π― ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ОБ Π½Π° своС устройство.
ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΄Π°Π΅Ρ‚ Π»ΠΈ запуск Windows ΠΈ Linux Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹?

Π― создал Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ мастСр с ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ https://github.com/yarnpkg/yarn/releases/download/v0.21.0-pre/yarn-0.21.0-0.js

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для установки с Ρ„Π»Π°Π³ΠΎΠΌ --verbose ?

НапримСр

node /Users/bestander/work/yarn/artifacts/yarn-0.21.0-0.js install --verbose

Он Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ для всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ FS.

Π”Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· очистки кСшСй

_ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: эти Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² систСмС с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. ВсС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ для этих тСстов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ.

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| ----------------------------- | ---------- | -------- ---- |
| Linux Mint | 5.598s | 1.00000 |
| Windows 10 (с Π±Π΅Π»Ρ‹ΠΌ списком) | 12,119 с | 2.16488 |
| Windows 10 (бСз бСлого списка) | 31,578 с | 5.64094 |

_Avg Time - это срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°Π±ΠΎΡ€Ρƒ ΠΈΠ· 10 тСстов_

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅ Linux Mint

[5.47, 5.40, 5.84, 5.96, 5.55, 5.48, 5.40, 5.57, 5.81, 5.50]

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅ Windows 10

Π‘ Π±Π΅Π»Ρ‹ΠΌ списком

[11.91, 11.87, 11.88, 12.07, 11.81, 12.02, 12.39, 12.49, 12.28, 12.47]

Π‘Π΅Π· Π±Π΅Π»ΠΎΠ³ΠΎ списка

[30.85, 31.52, 31.39, 31.46, 31.14, 31.41, 34.24, 31.09, 31.40, 31.28]

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ

Π― использовал этот сцСнарий PowerShell для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ всСх Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… здСсь. Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ это Ρ€Π΅ΠΏΠΎ ΠΈ выполняСт 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ yarn , удаляя node_modules послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.

@bestander , я ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ пост Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Windows.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, спасибо Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ --verbose с yarn.js с ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для ΠΎΠ±Π΅ΠΈΡ… ОБ?
Π­Ρ‚ΠΎ Π΄Π°Π»ΠΎ Π±Ρ‹ Π½Π°ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, Π³Π΄Π΅ проводится врСмя.

Π£Ρ„, это ΠΌΠ½ΠΎΠ³ΠΎ рСгистрации! Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ 10 запусков для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ОБ / Π±Π΅Π»Ρ‹ΠΉ список ΠΈΠ»ΠΈ достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ запуска для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ?

@bestander Π”Π΅Ρ€ΠΆΠΈ! По ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.

Π‘ΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: оказываСтся, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ~ 30 ΠœΠ‘ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ сущностСй, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ nginx 405. πŸ˜†

~ Linux Mint ~
~ Windows 10 с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΠΈ с чистым ~
~ Windows 10 с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΠΈ Π±Π΅Π· _clean_ ~
~ Windows 10 с чистыми ΠΈ Π±Π΅Π· _exclusions_ ~
~ Windows 10 Π±Π΅Π· _exclusions_ ΠΈ _without_ clean ~

VerboseLogs.tar.gz

Π Π•Π”ΠΠšΠ’Π˜Π ΠžΠ’ΠΠ’Π¬: ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ сущностСй ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сТатых Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ~ 30 ΠœΠ‘ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ сущностСй, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ nginx 405. πŸ˜†

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ (bzip2 ΠΈΠ»ΠΈ 7-Zip) ΠΈ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΈΡ… сюда ... ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст сТимаСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ :)

@ Daniel15 Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅, Π²ΠΎΡ‚ сТатыС Ρ„Π°ΠΉΠ»Ρ‹: VerboseLogs.tar.gz

1 ΠΏΡ€ΠΎΠ±Π΅ΠΆΠΊΠ° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ :)

Π― сравнил LinuxMint.txt ΠΈ Windows10NoClean.txt

Linux:

  • этап связывания начинаСтся с 1,156 сСкунды
  • всС ΠΏΠ°ΠΏΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ node_modules, созданныС Π² 1.968
  • послСдний Ρ„Π°ΠΉΠ» скопирован Ρ‡Π΅Ρ€Π΅Π· 3,873 сСкунды
  • сборки Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Ρ‡Π΅Ρ€Π΅Π· 3 сСкунды

Windows

  • этап связывания начинаСтся с 2,779 сСкунды
  • всС ΠΏΠ°ΠΏΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ node_modules, созданныС Π² 4.83
  • послСдний Ρ„Π°ΠΉΠ» скопирован Π½Π° 32.853
  • сборки Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Ρ‡Π΅Ρ€Π΅Π· 3 сСкунды

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° влияСт Π½Π° врСмя выполнСния Π² Windows (12 -> 35 сСкунд), Π½ΠΎ Π½Π΅ Π² Linux (Ρ‚Π΅ ΠΆΠ΅ 6 сСкунд).

Будя ΠΏΠΎ тСстам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я нашСл Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Linux EXT3 FS ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСвосходит NTFS ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ².
Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, являСтся Π»ΠΈ это ΠΏΡ€Π΅Π΄Π΅Π»ΠΎΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΌ приходится ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ.

@keawade , ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π»ΠΈ скорости ΠΏΡ€ΠΈ использовании npm @ 3 Π² Windows ΠΈ Linux?

НСсколько идСй:

  • Windows ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Π² 4 ΠΏΠΎΡ‚ΠΎΠΊΠ°. ΠœΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ?
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ robocopy Π² Windows https://github.com/mikeobrien/node-robocopy
  • ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ readstream.pipe.writestream для копирования Ρ„Π°ΠΉΠ»ΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это нСэффСктивно Π² Windows

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ 4 Π½Π° 1 Π² https://github.com/yarnpkg/yarn/blob/master/src/util/fs.js#L322 ΠΈ посмотритС, ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ускоряСтся Π² Windows

ВСсты ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

По запросу @bestander я Ρ€Π°Π·Π²Π΅Ρ‚Π²ΠΈΠ» yarnpkg/yarn ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» строку 322 src/util/fs.js , Π·Π°ΠΌΠ΅Π½ΠΈΠ² 4 Π½Π° 1 . Π—Π°Ρ‚Π΅ΠΌ я использовал yarn run build для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π» 10 тСстов с этой сборкой, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ yarn.cmd ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» скомпилирован ΠΏΡ€ΠΈ сборкС. Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

| | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| ---------------------------- | ---------- | --------- --- |
| Windows 10 (с Π±Π΅Π»Ρ‹ΠΌ списком) | 12,119 с | 1.00000 |
| Единичная копия Ρ€Π΅Π·ΡŒΠ±Ρ‹ | 16.927 с | 1.39673 |
| Единичная копия ΠΏΠΎΡ‚ΠΎΠΊΠ° + Чистка | 42.268s | 3.48775 |

_Avg Time - это срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π½Π°Π±ΠΎΡ€Ρƒ ΠΈΠ· 10 тСстов_

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСсколько Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ установки.

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅

Windows 10 (с Π±Π΅Π»Ρ‹ΠΌ списком)

Π­Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ тСста

Единая копия ΠΏΠΎΡ‚ΠΎΠΊΠ°

[15.72, 17.43, 15.16, 17.21, 17.83, 17.47, 16.68, 16.58, 16.93, 18.26]

Единая копия ΠΏΠΎΡ‚ΠΎΠΊΠ° + чистка

[37.68, 40.10, 43.20, 46.18, 40.84, 40.58, 39.69, 47.93, 42.45, 44.03]

Бпасибо, @keawade.
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΌΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ NTFS ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ большого количСства Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‡Π΅ΠΌ Linux FS?

Π˜Π·ΠΌΠ΅Ρ€ΡŒΡ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ установлСнных node_modules Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто ΠΊΠ°ΠΊ Π² Linux Mint, Ρ‚Π°ΠΊ ΠΈ Π² Windows 10, поТалуйста.

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ копию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ robocopy с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ /mt (ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ)

Π― Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ошибкС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ yarn add ΠΈΠ»ΠΈ yarn remove Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 30-40 ΠΌΠΈΠ½ΡƒΡ‚. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½ снова ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π’Π‘Π• зависимости, ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² Windows, это Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘ΠΌ. Π‘Π²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ:

https://github.com/yarnpkg/yarn/issues/2460

@kumarharsh # 2458 На установку Ρƒ мСня ΡƒΡˆΠ»ΠΎ 28

image

Π’Π°ΠΊΠΆΠ΅ я Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π±Π΅Π»Ρ‹ΠΉ список ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ кСш.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСсты

Π― использовал этот сцСнарий для запуска 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΏΠΈΠΉ ΠΊΠ°ΠΊ Π² Linux Mint, Ρ‚Π°ΠΊ ΠΈ Π² Windows 10. Π― скопировал это Ρ€Π΅ΠΏΠΎ послС запуска yarn Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’ΠΎΡ‚ ΠΌΠΎΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| ------------ | ------------ | ------------ |
| Linux Mint | 1527.4620 | 1.00000 |
| Windows 10 | 53676.3155 | 35.14085 |

Π­Ρ‚Π° Ρ€Π°Π·Π½ΠΈΡ†Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ бСзумная. Π­Ρ‚ΠΈ ΠΊΠΎΠΏΠΈΠΈ Π±Ρ‹Π»ΠΈ сдСланы ΠΏΡƒΡ‚Π΅ΠΌ копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСста Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π° _ Ρ‚ΠΎΠΌ ΠΆΠ΅ SSD_.

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅

Linux Mint

TotalMilliseconds
-----------------
        1515.3961
        1513.9469
        1540.3275
        1527.2777
        1514.6029
        1521.3711
        1512.0628
        1547.8331
        1518.1499
        1563.6521

Windows 10

TotalMilliseconds
-----------------
       55729.4968
       55915.5972
       53427.5155
       51624.6760
       52191.4177
       53556.4542
       53562.5533
       53527.9015
       53610.6127
       53616.9302

Π£ мСня сСйчас Π½Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ robocopy, Π½ΠΎ я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ сСгодня Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ послС Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π ΠΎΠ±ΠΎΠΊΠΎΠΏΠΈ-тСст

Π― использовал этот сцСнарий для запуска 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΏΠΈΠΉ ΠΊΠ°ΠΊ Π² Linux Mint, Ρ‚Π°ΠΊ ΠΈ Π² Windows 10. Π― скопировал это Ρ€Π΅ΠΏΠΎ послС запуска yarn Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’ΠΎΡ‚ ΠΌΠΎΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| ----------------------- | ------------ | ------------ |
| Linux Mint | 1527.4620 | 1.00000 |
| Windows 10 | 53676.3155 | 35.14085 |
| Windows 10 (Robocopy) | 58089.7457 | 38.03024 |

Робокопия Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ обычная копия.

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅

ЗначСния Linux Mint ΠΈ Windows 10 взяты ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… тСстов.

TotalMilliseconds
-----------------
       56935.3304
       58234.8084
       57838.7956
       56731.7850
       58380.1805
       58097.6040
       59161.0365
       59062.9404
       58363.5527
       58091.4234

@keawade , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ индСксация Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ?
Afaik это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ задСйствовано Π΄Π°ΠΆΠ΅ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cp.

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ копирования ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π² диспСтчСрС Π·Π°Π΄Π°Ρ‡.
И, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, просто ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ эти слуТбы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ тСсты Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°

Π― ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ» тСсты ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… условиях:

  • Π‘ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows
  • Π‘ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ слуТбой индСксирования Windows
  • Π‘ _ΠΎΠ±ΠΎ_ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows ΠΈ слуТбой индСксирования Windows
  • Π‘ _ΠΎΠ±ΠΎ_ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows ΠΈ слуТбой индСксирования Windows _ΠΈ_ очисткой кСша Yarn

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows, я ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠ» Real-time protection Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ настроСк Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows .

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ Windows, я остановил слуТбу поиска Windows Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ управлСния слуТбами .

_ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ Π±Ρ‹Π»ΠΎ_

Π― использовал этот сцСнарий для запуска 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΏΠΈΠΉ ΠΊΠ°ΠΊ Π² Linux Mint, Ρ‚Π°ΠΊ ΠΈ Π² Windows 10. Π― скопировал это Ρ€Π΅ΠΏΠΎ послС запуска yarn Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π’ΠΎΡ‚ ΠΌΠΎΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

РСзюмС

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ хотя индСксированиС Windows (слуТба поиска) Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ влияСт Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования ΠΈ Yarn, большСС влияниС ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| -------------------------------------------- | ---- -------- | ------------ |
| Linux Mint | 1527.4620 | 1.00000 |
| Windows 10 (Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°) | 7301.4307 | 4.78011 |
| Windows 10 (Π±Π΅Π· индСксации) | 10307.0794 | 6.74787 |
| Windows 10 (Π‘Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°, Π±Π΅Π· индСксации) | 7044.1393 | 4.61166 |
| Windows 10 Robo (Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°, Π±Π΅Π· индСксации) | 10094.8358 | 6.60889 |

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ПолноС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ индСксирования ΠΈ антивируса Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€ΡΠΆΠ°

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ярко Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹, я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ ΠΌΡ‹, вСроятно, ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Yarn ΠΈ Π² этих условиях.

Π― использовал этот сцСнарий для запуска 10 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ yarn ΠΊΠ°ΠΊ Π² Linux Mint, Ρ‚Π°ΠΊ ΠΈ Π² Windows 10. Π― ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» это Ρ€Π΅ΠΏΠΎ ΠΈ запустил yarn Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| --------------------------------------------- | --- ------- | ------------ |
| Linux Mint | 5.5980 | 1.00000 |
| Windows 10 (Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°) | 16.5450 | 2.95552 |
| Windows 10 (Π±Π΅Π· индСксации) | 38.5170 | 6.88049 |
| Windows 10 (Π‘Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°, Π±Π΅Π· индСксации) | 16.8490 | 3.00982 |
| Windows 10 Clean (Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°, Π±Π΅Π· индСксации) | 30.7730 | 5.49714 |

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅

ЗначСния Linux Mint взяты ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… тСстов .

ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ элСмСнт Windows 10

[7053.7702, 7163.6924, 7081.5366, 7131.2731, 6887.5165, 6960.7251, 6999.6528, 7051.1932, 7046.8592, 7065.1741]

Windows 10 Robocopy

[10096.4991, 10290.1073, 10350.6061, 9999.0552, 10294.0660, 10024.2568, 9949.6786, 9878.1346, 9801.2121, 10264.7418]

ΠŸΡ€ΡΠΆΠ° Windows 10

[16.81, 16.23, 16.29, 16.48, 19.03, 16.27, 17.64, 16.64, 16.05, 17.05]

Чистка пряТи Windows 10

[47.46, 27.83, 28.31, 27.87, 28.90, 30.70, 31.17, 27.97, 28.77, 28.75]

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ пряТи Π² Windows 10 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

[38.47, 38.63, 38.37, 38.82, 38.05, 38.54, 38.44, 37.90, 39.02, 38.93]

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ копирования Π² Windows 10 ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

[10222.4855, 10063.3654, 10152.2953, 10151.6155, 10316.7628, 10705.8277, 10199.5391, 10624.1961, 10308.2336, 10326.4731]

Windows 10 Yarn Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½

[17.03, 16.21, 16.76, 16.43, 16.19, 16.71, 16.23, 16.30, 17.37, 16.22]

Windows 10 ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

[7273.9684, 7427.1726, 7409.7312, 7417.4478, 7164.8717, 7427.4655, 7321.0481, 7292.2561, 7159.4540, 7120.8913]

Π­Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ΅ исслСдованиС, @keawade , спасибо Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ подСлились всСми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сырой Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы являСтся ΡƒΠ·ΠΊΠΈΠΌ мСстом для установки yarn Π² Windows.
Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Yarn ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ здСсь ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΡƒΠΌΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ копирования, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ.

@keawade, спасибо, Ρ‡Ρ‚ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ эти числа! @bestander ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒΠœΠ°ΠΌΠ° npm Π½Π΅ сталкиваСтся с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (постоянноС сканированиС), ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, пряТа Π½Π΅ подписана? ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Windows Defender Π½Π΅ довСряСт пряТС Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня, Ρ‡Ρ‚ΠΎ ΠΈ npm. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΌΡ‹ΡΠ»ΡŒ...

@kumarharsh , Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ npm ΠΈ yarn.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, npm ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ мСньшС Ρ„Π°ΠΉΠ»ΠΎΠ² (подъСм Yarn Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для самого малСнького Π΄Π΅Ρ€Π΅Π²Π° node_modules).
И Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ пряТу Π² Π±Π΅Π»Ρ‹ΠΉ список Ρ‡Π΅Ρ€Π΅Π· установщик.

ΠΌΠΎΠΆΠ΅Ρ‚ пряТа Π½Π΅ подписана? ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Windows Defender Π½Π΅ довСряСт пряТС Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня, Ρ‡Ρ‚ΠΎ ΠΈ npm.

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ сцСнарии ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ сцСнариСв PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ подписи Authenticode), поэтому я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Yarn ΠΈ npm Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Установщик Yarn подписан Authenticode, ΠΊΠ°ΠΊ ΠΈ npm.

И Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π±Ρ‹ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ пряТу Π² Π±Π΅Π»Ρ‹ΠΉ список Ρ‡Π΅Ρ€Π΅Π· установщик.

Π― Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ автоматичСскоС Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° Π±Π΅Π»Ρ‹ΠΉ список сканирования вирусов ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сканСры вирусов ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ установки ΠΊΠ°ΠΊ Π²Ρ€Π΅Π΄ΠΎΠ½ΠΎΡΠ½ΡƒΡŽ. Π­Ρ‚ΠΎ каТСтся рискованным Π΄Π΅Π»ΠΎΠΌ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ автоматичСски занСсти ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ список Π² индСксаторС поиска.

@keawade Π― тСстировал robocopy с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ /E /MT (ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ).

| ΠœΠ΅Ρ‚ΠΎΠ΄ копирования | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя |
| ---------------------- | ---------- |
| ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт -Recurse | 20219 |
| Робокопия /E | 26652 |
| Π ΠΎΠ±ΠΎΠΊΠΎΠΏΠΈ /E /MT | 9043 |

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅ (windows 10)

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнт -Recurse

[19494.3827, 19471.0148, 19573.9441, 19896.9619, 19413.0355, 20050.4264, 19370.4315, 22959.5867, 20969.9693, 20994.3076]

Π ΠΎΠ±ΠΎΠΊΠΎΠΏΠΈ /E

[26522.4862, 26489.6131, 26654.8518, 26910.1073, 26536.042, 26836.0344, 26682.3544, 26408.4497, 26883.7998, 26605.5189]

Π ΠΎΠ±ΠΎΠΊΠΎΠΏΠΈ /E /MT

[9274.1374, 9125.6525, 9292.1629, 9014.8979, 8947.7882, 8985.4369, 8742.3616, 8915.4609, 8938.8326, 9200.9616]

Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ сцСнарии ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ сцСнариСв PowerShell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ подписи Authenticode), поэтому я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Yarn ΠΈ npm Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Установщик Yarn подписан Authenticode, ΠΊΠ°ΠΊ ΠΈ npm.

Π—Π²ΡƒΡ‡ΠΈΡ‚ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ.
МоТСм Π»ΠΈ ΠΌΡ‹ это Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ?
ΠŸΡ€ΠΈ запускС npm install Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ‚ΠΎΡ€ ΠΈ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² диспСтчСрС Π·Π°Π΄Π°Ρ‡?

NPM Defender ΠΈ тСсты индСксации

Π― записал врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для запуска npm install Π² этом Ρ€Π΅ΠΏΠΎ ΠΏΡ€ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ условиях, Ρ‡Ρ‚ΠΎ ΠΈ тСсты индСксирования ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² копирования Yarn ΠΈ Windows.

| ОБ | Π‘Ρ€Π΅Π΄Π½Π΅Π΅ врСмя | Нормализованный |
| --------------------------------------------- | --- ------- | ------------ |
| Linux Mint (ΠŸΡ€ΡΠΆΠ°) | 5.5980 | 1.00000 |
| Linux Mint (NPM) | 28.9793 | 5.17672 |
| Windows 10 (Π±Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°) | 42.6296 | 7.61514 |
| Windows 10 (Π±Π΅Π· индСксации) | 53.8791 | 9.62470 |
| Windows 10 (Π‘Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°, Π±Π΅Π· индСксации) | 37.9727 | 6.78326 |
| Windows 10 (Π‘Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) | 58.5047 | 10.45100 |

РСзюмС

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Π½Π° NPM Ρ‚Π°ΠΊΠΆΠ΅ влияСт Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Windows.

НСобработанныС Π΄Π°Π½Π½Ρ‹Π΅

NPM (Linux Mint)

[29.2353468, 35.6938315, 31.2105951, 30.9298704, 36.5016868, 31.8017671, 30.6387978, 32.3466556, 31.4340427]

NPM (Windows)

[61.2370640, 63.8799427, 62.3602369, 54.0541606, 55.1055082, 59.8259424, 56.7668692, 61.1153600, 54.7739699, 55.9277175]

NPM с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows

[41.1666621, 45.6951565, 43.1979249, 43.9185817, 40.8516877, 42.3445648, 43.5419790, 43.5084263, 45.0731120, 36.9975436]

NPM с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ индСксированиСм Windows

[61.1470203, 58.6288137, 52.2553500, 52.4279906, 53.5446943, 54.2839412, 51.1620714, 52.1045756, 51.6424888, 51.5937462]

NPM с Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΎΠΌ Windows ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ индСксированиСм Windows

[37.1311942, 37.7022530, 38.4630113, 37.5750357, 38.1434941, 37.2711589, 37.2249454, 39.4748951, 38.5522905, 38.1883537]

Π― полагаю, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, связанноС с ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Windows ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅-Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° диск, ΠΏΡƒΡ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ обучСния людСй вопросам индСксирования ΠΈ Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ°.
Π—Π°ΠΌΠ΅Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π½Π° robocopy Ρ‚ΠΎΠΆΠ΅ каТСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ.

ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ количСства ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ†Π΅Π»ΠΎΠΌ

Π’ Ρ†Π΅Π»ΠΎΠΌ это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ идСя, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Π·Π΄Π΅. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для людСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… сСрвСры с ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ТСсткими дисками.

Π‘ Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Ρƒ PR для Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² fs Π½Π° robocopy Π² Windows здСсь .

-- ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ
Однако это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ copyBulk ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ robocopy.

ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π½Π°Π΅Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это происходит со ΠΌΠ½ΠΎΠΉ (ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·)?

image

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сообщСниС:
На ΠΌΠΎΠ΅ΠΉ машинС с Windows - ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ yarn add ΠΈΠ»ΠΈ yarn rm ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡƒΠ·Π»ΠΎΠ² Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ package.json ΠΌΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΈΠΌ. Π­Ρ‚ΠΎΡ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния для 160k зависимостСй появляСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΈ ΠΏΠΎΠ»Π·Π°Π΅Ρ‚, ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°, Π·Π°ΡΡ‚Ρ€ΡΠ²ΡˆΠ°Ρ Π½Π° нСфтяном мСстороТдСнии. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ yarn rm paper я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π» ΠΏΠ΅Ρ€Π΅Π΄ yarn add - 1000 сСкунд!

И ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ add/rm Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ бСспорядку Π² ΠΏΠ°ΠΏΠΊΠ΅ node_modules, ΠΈ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ yarn install / npm install Π½Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ всС зависимости, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ я Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ дСлаю rm -r node_modules/ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ всС сначала. Π­Ρ‚Π° СдинствСнная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° достаточно Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ мСня ΠΎΡ‚ использования yarn install.

Π”ΡƒΠΌΠ°ΡŽ, Ρƒ вас ΠΏΠ»ΠΎΡ…ΠΎ подняты node_modules, эта ошибка Π±ΡƒΠ΄Π΅Ρ‚ исправлСна ​​в # 2676

Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ТСсткой ссылки @bestander Π² # 2620 (которая ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows 7 Π±Π΅Π· ΠΏΡ€Π°Π² администратора), ΠΌΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π΅ врСмя установки ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ node_modules/ ΡƒΠΏΠ°Π»ΠΈ.

Π‘Π΅Π· ТСсткой ссылки:

Done in 167.76s.

real    2m49.633s
user    0m0.229s
sys     0m1.368s

du -sh node_modules/
216M    node_modules/

Π‘ ТСсткой привязкой:

Done in 58.07s.

real    0m59.967s
user    0m0.183s
sys     0m1.369s

du -sh node_modules/
189M    node_modules/

ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ 0.21.1, Ρ‚Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ исправлСниС @kittens для подъСма.
Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ быстрСС

Π’ срСду, 15 фСвраля 2017 Π³., Π² 20:04, Hutson Betts [email protected] написал:

Π‘ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ @bestander https://github.com/bestander
ТСсткая ссылка Π² # 2620 https://github.com/yarnpkg/yarn/pull/2620 (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows 7 Π±Π΅Π· ΠΏΡ€Π°Π² администратора), ΠΌΠΎΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ
врСмя установки ΠΈ node_modules / size ΡƒΠΏΠ°Π»ΠΈ.

Π‘Π΅Π· ТСсткой ссылки:

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΎ Π² 167.76с.

Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ 2 ΠΌΠΈΠ½ 49,633 сСк
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ 0m0.229s
sys 0m1.368s

du -sh node_modules /
216M node_modules /

Π‘ ТСсткой привязкой:

Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΎ 58.07.

Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ 0m59.967s
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ 0m0.183s
sys 0m1.369s

du -sh node_modules /
189M node_modules /

-
Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ это, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ вас упомянули.
ΠžΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ Π½Π° это письмо Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, просмотритС Π΅Π³ΠΎ Π½Π° GitHub
https://github.com/yarnpkg/yarn/issues/990#issuecomment-280122923 ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊ
Π½ΠΈΡ‚ΡŒ
https://github.com/notifications/unsubscribe-auth/ACBdWAEghXfPo4bX9mN0hV8l8YaH2rmlks5rc1pigaJpZM4KVwpA
.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Win7 / w Yarn v0.21.3

[3/4] Linking dependencies...
Done in 947.71s. 

ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ это количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, добавляя Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ с yarn add ...
Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½
Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

Π£ вас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ AV, поэтому просто слСдуйтС этим шагам, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅ @Altiano

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π±Π΅Π»Ρ‹ΠΉ список ΠΈΠ· AV
Π‘Π΅Π»Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ кэша пряТи ((% LocalAppData% Yarn)) ΠΎΡ‚ AV

Π‘ΡƒΠ΄Ρƒ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ

@kuncevic , ΠΊΠ°ΠΊΠΎΠ΅ врСмя чистой установки для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?
Каков Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΏΠΊΠΈ node_modules Π² Ρ„Π°ΠΉΠ»Π°Ρ…?
Как это ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с установкой npm?

@bestander, Ρƒ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π›ΡŽΠ±Ρ‹Π΅ yarn add ΠΈΠ»ΠΈ yarn remove Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ врСмя - ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ, Π΄Π°ΠΆΠ΅ послС исправлСний подъСма

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· это происходит:

  1. Π‘Π½Π°Ρ‡Π°Π»Π° выполняСтся Fetching packages (Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 30 сСкунд):
    image
  2. Π—Π°Ρ‚Π΅ΠΌ связываниС зависимостСй приостанавливаСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 1-2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.
    image
  3. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ возобновляСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага ΠΈ снова устанавливаСт (?) 63k Ρ„Π°ΠΉΠ»ΠΎΠ².
    image

Как я ΡƒΠΆΠ΅ сказал, это происходит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽ yarn add ΠΈΠ»ΠΈ yarn remove . НС ΠΈΠΌΠ΅Π΅Ρ‚ значСния, зависит Π»ΠΈ устанавливаСмая ΠΌΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ зависимости. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ npm install для установки Π½ΠΎΠ²ΠΎΠΉ зависимости ΠΈΠ»ΠΈ обновлСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ лишь Ρ‡Π°ΡΡ‚ΡŒ этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Битуация ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»Π°ΡΡŒ Π² 2 Ρ€Π°Π·Π° с исправлСниями подъСма ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ.

@bestander, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ воспроизводимый случай, https://github.com/kumarharsh/yarn-bug ΠΈ запуститС yarn install , Π° Π·Π°Ρ‚Π΅ΠΌ yarn add react-helmet .

Yarn сохраняСт Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° запускаСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ / ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, поэтому Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π±Ρ‹Π»Π° Π»ΠΈ какая-Π»ΠΈΠ±ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ поднята Π² ΠΊΠΎΡ€Π΅Π½ΡŒ node_modules ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ зависимостСй.
Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ выполняСт ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ„Π°Π·Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ зависимостСй - ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСльзя.
ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ этап связывания (1561 опСрация) - создаСт всС ΠΏΠ°ΠΏΠΊΠΈ для всСх зависимостСй.
Вторая Ρ„Π°Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ (63К ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ) - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· кСша Π² node_modues.

Yarn ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования Ρ„Π°ΠΉΠ»ΠΎΠ², провСряя, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ Π»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, смоТСм Π»ΠΈ ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.
ΠœΠΎΠΆΠ΅Ρ‚, Π½Π° Π²ΠΈΠ½Π΄Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ быстрСС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ?

А ΠΊΠ°ΠΊ насчСт npm, ΠΊΠ°ΠΊ быстро ΠΎΠ½ выполняСт Ρ‡ΠΈΡΡ‚ΡƒΡŽ установку?

Для чистой установки npm ( npm install ) трСбуСтся 552301.1944ms .
Для установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ зависимости ( npm install weird ) трСбуСтся 57023.7593ms . (Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ этого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° paperjs, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ холст Π² качСствС Π΄Π΅ΠΏΠΎ, Π½ΠΎ это врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΊΠ°ΠΊ для npm, Ρ‚Π°ΠΊ ΠΈ для пряТи)

Чистая установка пряТи ( yarn install ) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ 612698.4915ms .
Для установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ зависимости ( yarn add weird ) трСбуСтся 495633.0307ms .

npm version 3.10.9
yarn version 0.21.3

@bestander @kumarharsh Yarn Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Windows ΠΈΠ·-Π·Π° ошибки libuv / nodejs (см. # 2958 для ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ исправлСния Π² ΠΊΠΎΠ΄Π΅ пряТи), которая отсутствуСт Π½Π° ΡƒΠ·Π»Π΅ 7.1+, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ( yarn add ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, просто ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΡƒΠ·Π΅Π».

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Windows Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Ρ‡Π΅ΠΌ использованиС API ΡƒΠ·Π»Π° для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² (см. # 2960 для ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ PR), ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ yarn install , Π½ΠΎ я Π½Π΅ знаю, сравняСтся Π»ΠΈ это с npm (Π½Π΅ тСстировал)

Волько Ρ‡Ρ‚ΠΎ обновился Π΄ΠΎ 7.8.0

nvm install 7.8.0
npm install npm -g (came with 4.4.4)
nvm use 7.8.0
`git clone https://github.com/angular/material2`
cd material2
yarn install - Done in 210.22s.
rimraf node_modules
yarn install - Done in 180.66s.
rimraf node_modules
yarn install - Done in 181.11s.

Однако, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² yarn add rimraf сдСлали это Π·Π° 20.52s. Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ yarn install послС удалСния node_modules Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ?

пс

rimraf node_modules
npm install - Done in 332.4s
rimraf node_modules
npm install - Done in 402s
rimraf node_modules
npm install - Done in 489.6s

@kuncevic ΠŸΡ€ΠΈΡΡ‚Π½ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ·Π»Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π·Π° yarn add :)

Π§Ρ‚ΠΎ касаСтся пустого node_modules Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ, сколько ΠΈΠ·-Π·Π° пряТи, Π° сколько ΠΈΠ·-Π·Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы, ТСсткого диска ΠΈ антивируса.
Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ я скопировал ΠΏΠΎΠ»Π½Ρ‹ΠΉ node_module (созданный yarn, Π° Π½Π΅ npm) material2 Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² кСшС пряТи:

for /f "delims=" %i in ('yarn cache dir') do set yarncachedir=%i
xcopy /E /Y /I /Q node_modules %yarncachedir%\x-temp

И Π·Π°Ρ‚Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ тСста я ΠΎΡ‡ΠΈΡ‰Π°Π» node_modules ΠΈ запускал yarn install , npm install ΠΈΠ»ΠΈ xcopy ΠΈΠ· Ρ€Π°Π½Π΅Π΅ созданной ΠΏΠ°ΠΏΠΊΠΈ:

rd node_modules /s /q
powershell -Command "Measure-Command { xcopy /E /Y /I /Q %yarncachedir%\x-temp node_modules}"

И заняло всСго сСкунды.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° 3 ПК

  • 🏠 Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ ПК: Samsung 950 Pro NVMe, ESET Nod32
  • 🏒 Π Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€: Samsung 850 EVO SATA, TrendMicro OfficeScan, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ
  • 🍎 MacBook pro: вСрсия 2015 Π³ΠΎΠ΄Π°, Π½Π° macos, Π±Π΅Π· антивируса

|| yarn 🏠 | npm 🏠 | xcopy 🏠 | yarn 🏒 | npm 🏒 | xcopy 🏒 | yarn 🍎 | npm 🍎
| - | - | - | - | - | - | - | - | -
| AV ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ | 34s | 90-Π΅ | 23-Π΅ | - | - | - | 32-Π΅ | 92-Π΅
| AV Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ кСш ΠΈ ΠΊΠΎΠ΄ | 38s | 104 с | 29 с | - | - | - | - | -
| Av Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ кСш | 43 с | - | 31 с | - | - | - | - | -
| Av ΠΏΠΎΠ»Π½Ρ‹ΠΉ | 48s | 122с | 32с | 100-Π΅ | 274s | 236с | - | -

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° AV Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΎΠ½ достигал Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ЦП Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ yarn install ΠΈΠ»ΠΈ xcopy (Π½Π° ΠΌΠΎΠ΅ΠΌ домашнСм ПК 30% ΠΎΠ±Ρ‰Π΅Π³ΠΎ количСства ЦП Π±Ρ‹Π»ΠΎ занято максимумом, Π½ΠΎ Π½Π° ΠΌΠΎΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ПК ΠΎΠ½ заполняСт ΠΎΠ΄Π½ΠΎ ядро ​​для xcopy ΠΈ всС ΠΌΠΎΠΈ стСрТни для пряТи)
xcopy ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π° ΠΌΠΎΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ПК, Ρ‡Π΅ΠΌ yarn, я ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ yarn Π΄Π΅Π»Π°Π΅Ρ‚ (это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, связанных с Π²Π²ΠΎΠ΄ΠΎΠΌ-Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ, Π½ΠΎ AV Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, привязанной ΠΊ процСссору, Π° xcopy Π½Π΅ записываСтся Π² Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ глупостСй πŸ˜„)

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ

  • yarn быстрСС, Ρ‡Π΅ΠΌ npm ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ xcopy ΠΊΠΎΠ³Π΄Π° AV Π΄Π΅Π»Π°Π΅Ρ‚ копию Ρ„Π°ΠΉΠ»Π°, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с ЦП
  • Windows Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ SSD Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ MacBook Pro 2015 (Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ SSD), Π΄Π°ΠΆΠ΅ Ссли ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ слоТно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π΅ совсСм ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈ Π½Π΅ всС сцСнарии послС установки Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅
  • НСкоторыС измСнСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ внСсСны Π² пряТу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это (символичСскиС Ρ„Π°ΠΉΠ»Ρ‹?), Но ΠΏΠΎ сущСству ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ большого количСства Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² происходит ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.
  • Π’ Windows AV ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ , ΠΌΠΎΠΉ добавляСт 30% ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ Π² исходной, Ρ‚Π°ΠΊ ΠΈ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ°Ρ… 😞
  • ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ AV ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ npm, ΠΏΠ°ΠΏΠΎΠΊ кэша пряТи ΠΈ node.exe Π² список ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Π±Ρ‹Π»ΠΎ Π±Ρ‹ достаточно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, всС это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² индСксированных ΠΏΠ°ΠΏΠΊΠ°Ρ…. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ пряТи / ΠΏΠΎΠ³ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 7 сСкунд.

ВсСм спасибо, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ оптимизация для Windows ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° Π² 0.24 https://github.com/yarnpkg/yarn/pull/3234#issuecomment -297552326

@vbfox НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий для npm ΠΈ yarn Π² свой тСст?

это Π΅Ρ‰Π΅ Π³ΠΎΠ²Π½ΠΎ для MacOSX

Π― всС Π΅Ρ‰Π΅ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽ ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠ΅Π΅ врСмя установки. yarn add каТСтся, устанавливаСт ΠΈ связываСт всС (всС элСмСнты Π² package.json , ~ 30k зависимостСй) всС врСмя.

ВСрсии Linux:

$ yarn -v
1.3.2
$ node -v
v8.9.3

ВСрсии Windows:

> conemu-cyg-64.exe --version
ConEmu cygwin/msys connector version 1.2.2
> wslbridge.exe --version
wslbridge 0.2.3
> Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' | Select-Object ProductName, CurrentMajorVersionNumber, CurrentMinorVersionNumber, ReleaseId, CurrentBuild, CurrentBuildNumber, BuildLabEx


ProductName               : Windows 10 Pro Insider Preview
CurrentMajorVersionNumber : 10
CurrentMinorVersionNumber : 0
ReleaseId                 : 1709
CurrentBuild              : 17025
CurrentBuildNumber        : 17025
BuildLabEx                : 17025.1000.amd64fre.rs_prerelease.171020-1626

Π£ мСня Π΄Π²Π° (с ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ΠΎΠΉ) вопроса:

  1. КакоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² этой Π²Π΅Ρ‚ΠΊΠ΅ принято? Π­Ρ‚ΠΎ Π±Ρ‹Π» β„– 3234 ΠΈΠ»ΠΈ настройка Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows?

    • Если Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ касалось настройки Π—Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠ° Windows, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?
  2. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ моя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° связана с этой Π²Π΅Ρ‚ΠΊΠΎΠΉ, ΠΈΠ»ΠΈ ΠΌΠ½Π΅ слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ?

Бпасибо, Ρ‡Ρ‚ΠΎ подняли Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, я ΠΎΡ‚Π²Π΅Ρ‡Ρƒ Ρ‚Π°ΠΌ

ΠŸΡ€ΠΎΡˆΡ‘Π» ΠΏΠΎΡ‡Ρ‚ΠΈ час, ΠΈ я ΠΆΠ΄Ρƒ, ΠΏΠΎΠΊΠ° эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ процСсс. Π― слСдил Π·Π° ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ Π²Ρ‹ΡˆΠ΅, упомянутыми @Altiano, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Ρƒ нас Π΅ΡΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° этому? Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ npm i -g . Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ»ΠΈ ΠΌΠ½Π΅ придСтся внСсти Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ измСнСния, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ пряТу workspace

Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послС Π΄Π²ΡƒΡ…-Ρ‚Ρ€Π΅Ρ… часов Π±ΠΎΡ€ΡŒΠ±Ρ‹, ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ npm i -g . вмСсто yarn global add file:. . npm Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΊΠ°ΠΊ ΡˆΠ°Ρ€ΠΌ

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ