私は、Windows および Linux、32 ビットおよび 64 ビット用のビルドを含むプロジェクトに取り組んでいます。このプロジェクトは、テキスト ファイルの文字列を読み込んで処理し、結果を SQLite3 データベースに書き込むことに基づいています。
Linux では、最適化なしで GCC によってコンパイルされた、1 秒あたり約 400k シーケンスに達します。ただし、Windowsでは、最適化なしでVS2010でコンパイルされ、毎秒10万シーケンスでスタックします。
コンパイラで最適化を使用してみましたが、何も変わりませんでした。
これは正しいですか?Windows での C コードの実行速度は遅くなりますか?
編集:
いくつかの点でより明確にする必要があると思います。コードの最適化を有効にして無効にしてテストを行いました。おそらく私のプログラムのボトルネックは、HD からのデータの読み取りに無駄な時間がかかるためです。
このプログラムは、並列計算を利用しています。スレッドが処理されたデータをキューに入れるキューと、SQLite データベースに書き込むための別のデキューがあります。このようにして、これからパフォーマンスが低下することはないと思います。