Ich habe Cygwin vollständig auf meinem Windows 7 x64-Computer installiert. Nach jedem Neustart des Computers kann der Start von Curl etwa 6 Sekunden dauern (auch wenn keine Befehlszeilenoptionen angegeben wurden). Bei späteren Verwendungen von Curl gibt es keine Verzögerung. Es sieht so aus, als würde eine DLL initialisiert oder? Hat das noch jemand gesehen und ist das normal?
9
Antworten:
Das ist normal; Bei der ersten Ausführung der Cygwin-DLL werden mehrere Initialisierungsschritte ausgeführt , die möglicherweise zeitaufwändig sein können, um die Cygwin-Umgebung einzurichten. Diese Initialisierung erfolgt zum ersten Mal nach dem Systemstart, wenn ein Cygwin-Prozess erstellt wird, und es gibt leider keinen wirklichen Weg daran vorbei.
Die beste Empfehlung, die ich anbieten kann, besteht darin, Ihr Systemstartschema oder Ihre Anmeldeskripts zu ändern, um einen Cygwin-Prozess zu erstellen, sodass die Initialisierungszeit zu einem Zeitpunkt "eingerollt" wird, an dem Sie bereits damit rechnen, auf das System zu warten , anstatt später aufzutreten, wenn Sie eine schnelle Antwort erwarten. Beispielsweise können Sie als Batch-Datei Folgendes hinzufügen
C:\Users\<your username>\AppData\Local\Microsoft\Windows\Start Menu\Programs\Startup
:Dadurch wird ein Cygwin-Bash-Prozess gestartet, der ziemlich schnell nichts bewirkt und dann beendet wird, ohne dass ein Fenster auf Ihrer Konsole angezeigt wird. Dadurch wird die Cygwin-DLL gezwungen, sich selbst zu laden und zu initialisieren, ohne Nebenwirkungen zu verursachen Eingabeaufforderung und Curl ausführen, die Initialisierungszeit ist bereits eingetreten, und Sie werden sich beim Ausführen interaktiver Befehle nicht darüber ärgern.
quelle