Windows 7コマンドプロセッサ(CMD.EXE)の起動が本当に遅いように思われますか?
このテストはコマンドラインから実行しました(ntimerはWindowsサーバーリソースキットのタイミングユーティリティであり、インストールされていない場合は省略できます)。
ntimer cmd/c for/l%a in(1,1,100)do @cmd/c rem
新しいCMD.EXEを100回シェルアウトするだけです。私のx64Win7ベースシステムでは、実行に約2.3秒かかります。これを実行するのはx86Win7仮想マシンで約5.6秒かかります。興味深いことに、古い16ビットコマンドプロセッサCOMMAND.COMを使用したVM)では、同じテストに1秒もかかりません。
CMD.EXEが遅いのはなぜですか? VMのCOMMAND.COMで見たのと同様のパフォーマンスを期待していました。生のマシンとVM)の間のCMD.EXEの速度の比率は妥当なようですが、絶対速度はかなり遅いです。これについて何か考えがある人はいますか?ありがとうございます。
ソフトウェアビルドを行っていて、実行時間が古いXP VM)の15分から新しいWin7 VMの30分に変わったため、これに気づきました。ビルドプロセスはGNUMAKEユーティリティを使用し、コマンドプロセッサに大量のシェルアウトを実行します。
P.S.私はもともとstackoverflow.comでこれを尋ねましたが、彼らは私がここに行くことを提案しました。
インストールされているキーボードレイアウトとcmd.exeに問題があるようです(少なくとも、私のVistaマシンと一部の同僚には当てはまります)。
[システム設定]-> [地域と言語のオプション]-> [キーボードと言語]-> [キーボードの変更]-> [インストールされているサービス](オンザフライで翻訳-YMMV)から追加の言語を削除してみてください。
これにより、cmd.exeの起動が「非常に煩わしい」から「インスタント」に減少しました。
cmd.comを使用する代わりに、PowerShellを試しましたか?アクセサリーの下にあると思います。
Sysinternals ProcessExplorerとProcessMonitorを使用して、ハングしている間に何が起こっているのかを把握することをお勧めします。両方のプログラムにはすばらしいチュートリアルがたくさんあり、それらに精通することを強くお勧めします。