Чому запуск Curl дуже довгий на 6 секунд


9

Я зробив повну установку Cygwin на моїй машині Windows 7 x64. Після кожного перезавантаження машини Curl може зайняти близько 6 секунд (навіть якщо параметри командного рядка не вказані). При подальшому використанні Curl затримки немає. Схоже, ініціалізація DLL чи? Хтось ще бачив це і це нормально?


1
Можливо, DLL Cygwin ініціалізує себе, якщо раніше не було запущено жодних процесів Cygwin. Як ви викликаєте curl - з оболонки Windows або з Cygwin bash? Чи увімкнено якісь послуги Cygwin чи будь-які команди Cygwin, які працюють під час запуску чи входу?
Аарон Міллер

Я викликаю це з підказки Windows cmd (не з bash). Я не налаштував жодних інших служб для запуску. Я відтворив проблему на інших машинах, включаючи 32-бітну Windows XP, тому я думаю, що це може бути звичайний час запуску, але я хочу це підтвердити.
користувач265445

Відповіді:


7

Це нормально; при першому запуску DLL Cygwin він виконує кілька етапів ініціалізації , які потенційно можуть зайняти багато часу для налаштування середовища 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, який досить швидко нічого не робить, а потім виходить, не показуючи вікно на консолі - таким чином, змушуючи DLL Cygwin завантажуватися та ініціалізуватися, не створюючи жодних побічних ефектів, і щоб, нарешті, відкрити a командного рядка та запустіть curl, час ініціалізації вже відбувся, і ви не будете дратуватися ним під час виконання інтерактивних команд.


Дякую за посилання, що пояснює затримку, яку я бачив.
user265445
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.