Windows 7 x64 컴퓨터에 Cygwin을 전체 설치했습니다. 각 컴퓨터를 재부팅 한 후 Curl을 시작하는 데 약 6 초가 소요될 수 있습니다 (명령 줄 옵션이 지정되지 않은 경우에도). Curl을 계속 사용하면 지연이 없습니다. DLL이 초기화되고있는 것 같습니다. 다른 사람이 그것을 보았으며 이것이 정상입니까?
Windows 7 x64 컴퓨터에 Cygwin을 전체 설치했습니다. 각 컴퓨터를 재부팅 한 후 Curl을 시작하는 데 약 6 초가 소요될 수 있습니다 (명령 줄 옵션이 지정되지 않은 경우에도). Curl을 계속 사용하면 지연이 없습니다. DLL이 초기화되고있는 것 같습니다. 다른 사람이 그것을 보았으며 이것이 정상입니까?
답변:
이것은 정상입니다. 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을 실행하면 초기화 시간이 이미 발생했으며 대화 형 명령을 실행하는 동안 짜증을 내지 않습니다.