[Cygwin] Cygwin 上でのプログラムの起動が遅い原因
私は Cygwin をいつも愛用しているわけですが,1 つだけ気になっていることがありました.
何故かプログラムの起動が遅いのです.一旦起動すれば普通に動くのですが,起動に 5 秒くらい時間が掛かります.
さっと調べても原因らしい原因が分からなかったので,仕方なく 2 週間程前からこんな状態で使っていましたが,ついに我慢の限界に達しました.というわけで原因の究明とその排除です.
strace で追いかけるも不明.シェル zsh 上ではなく,シェル cmd 上から起動すると速いんです.
「環境変数 PATH が長いのかな?」と思いました(私は Cygwin から Visual C++ や C# のコンパイラをよく使うので,cl.exe や link.exe のあるディレクトリへのパス等を追加しています).というわけで,開発環境へのパスを取り除いてみました.
... 結果は変わりませんでした.
PATH の内容をいろいろ弄っていると,ふと目に付いた部分がありました.それは,PATH に /cygdrive/c/WINDOWS/system32 を追加している部分です.
「そういえば system32 ディレクトリには多数の実行ファイルがあるのよねー...」「これ消したら動くんちゃうかな」
消すと起動が速くなりました.なんということでしょう.Cygwin は自前で実行ファイルを検索しているのでしょうか.
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2004090101
トラックバックはありません.