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を実行すると、初期化時間が既に発生しているので、インタラクティブコマンドの実行中に煩わされることはありません。