Por que há um atraso muito longo de 6 segundos no início do Curl?

8

Eu fiz uma instalação completa do Cygwin na minha máquina Windows 7 x64. Após cada reinicialização da máquina, o Curl pode levar cerca de 6 segundos para ser iniciado (mesmo que nenhuma opção de linha de comando tenha sido especificada). Em usos subseqüentes de Curl não há nenhum atraso. Parece que uma DLL está sendo inicializada ou? Alguém mais viu isso e isso é normal?

    
por user265445 12.08.2013 / 17:35

1 resposta

7

Isso é normal; Na primeira vez que o Cygwin DLL é executado, ele executa várias etapas de inicialização , que podem ser potencialmente consumindo, para configurar o ambiente do Cygwin. Esta inicialização ocorre na primeira vez após a inicialização do sistema em que um processo Cygwin é criado, e infelizmente não há uma maneira real de contornar isso.

A melhor recomendação que posso oferecer é modificar o esquema de inicialização do seu sistema, ou seus scripts de login, para criar um processo Cygwin, para que o tempo de inicialização seja "colocado" em um ponto em que você já espera no sistema, em vez de ocorrer mais tarde, quando você está esperando uma resposta rápida. Por exemplo, você pode adicionar algo como o seguinte, como um arquivo em lote, a C:\Users\<your username>\AppData\Local\Microsoft\Windows\Start Menu\Programs\Startup :

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

Isto iniciará um processo bash do Cygwin que rapidamente não faz nada e sai, sem exibir uma janela em seu console - forçando assim a DLL do Cygwin a carregar e inicializar a si mesma, sem produzir efeitos colaterais, e assim quando você finalmente, abra um prompt de comando e execute o curl, o tempo de inicialização já terá ocorrido e você não ficará incomodado com isso durante a execução de comandos interativos.

    
por 12.08.2013 / 20:21