9

Я сделал полную установку Cygwin на моем компьютере с Windows 7 x64. После каждой перезагрузки компьютера запуск Curl может занять около 6 секунд (даже если параметры командной строки не были указаны). При последующем использовании Curl задержки нет. Похоже, что DLL инициализируется или? Кто-нибудь еще видел это и это нормально?

1 ответ1

7

Это нормально; при первом запуске библиотеки Cygwin DLL выполняется несколько шагов инициализации, которые могут занять много времени для настройки среды Cygwin. Эта инициализация происходит в первый раз после загрузки системы, когда создается процесс Cygwin, и, к сожалению, реального пути обхода нет.

Лучшая рекомендация, которую я могу предложить, - это изменить схему запуска системы или сценарии входа в систему, чтобы создать процесс Cygwin, чтобы время инициализации "затягивалось" в тот момент, когда вы уже ожидаете ожидания в системе. вместо того, чтобы происходить позже, когда вы ожидаете быстрого ответа. Например, вы можете добавить что-то вроде следующего, как пакетный файл, в C:\Users\<your username>\AppData\Local\Microsoft\Windows\Start Menu\Programs\Startup:

c:\cygwin\bin\run.exe '/bin/bash -c "ls > /dev/null"'

Это запустит процесс Cygwin bash, который довольно быстро ничего не делает, а затем завершает свою работу, не отображая окно на вашей консоли - таким образом, заставляя библиотеку Cygwin DLL загружаться и инициализировать себя, не вызывая каких-либо побочных эффектов, и, таким образом, когда вы наконец откроете В командной строке и запустите curl, время инициализации уже наступит, и оно не будет раздражать вас при выполнении интерактивных команд.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .