質問: Windows10でC言語とMinGWのgccを使ってCUIアプリケーションを開発しています。コンパイルしたバイナリをcmd.exe上で実行すると、2回目以降の実行はキャッシュでも効いているのか比較的早く実行されるのですが、初回実行時に異様に時間がかかります。体感だと2回目以降が数ms, 初回が1~2秒ぐらいです。しばらくPCを放置して、また実行すると再び初回実行の遅さになり、それから2回目以降は早くなります。 1. cmd.exe 上で myapp.exe をタイプし実行 2. 初回、出力までが遅い。2回目以降は速い 初回実行の速度を2回目以降と同レベルの速度にしたいのですが、何か良い方法はないでしょうか。 gcc のバージョンは 8.2.0 です。
回答: > > 体感だと2回目以降が数ms, 初回が1~2秒ぐらい > > > よく似た経験があります。 セキュリティの検査をするソフトがインストールされているWindows機で、 * 実行するプログラムが安全かどうか、起動時に検査をするので、初回は時間がかかる * 一度検査を済ませたプログラムは、その記録を保持しているので、2回目からは起動が速い というものでした。 プログラムを修正しコンパイルしなおすと機械語コードが変化するので、検査をやり直します。私たちの作業は、修正しては動作確認する、の繰り返しですから、いちいちブレーキがかかり、ストレスだった事を覚えていますが、具体的なソフト名は覚えていません。 これが原因なら、そのセキュリティソフトを無効にする・アンインストールする、ということになります。