どちらが速いかを理解しようとしているだけでなく、ベンチマークの方法も学んでいます。これは QFile VS ifstream をテストする正確な方法だと思いますか?
2 に答える
速度と最適化は、すべてのプログラムにとって 2 つの重要な要素です。それらは、言語や実装に依存するよりもプログラマーに依存しています。最適化が必要な場合、現在の言語または実装が最適化されていないと考えることがよくあります。ifstream
は C++ の標準クラスであり、QFile はそれを使用していると思います。測定したい速度と比率は、定義された環境で記述および測定できます。直面しているケースを記述した方がよいでしょう。
もう 1 つの重要なポイントは、なぜファイル オペレーター クラスの速度が重要なのか理解できません。多くのファイル関連の操作はメモリ内で実行でき、実行する必要があり、ハードディスクへのトラップは最小限に抑える必要があります。したがって、理想的な状況では、ファイルアクセスのフレームワークと遅いフレームワークの間ifstream
に違いはないと思います。QFile
あなたにとって、そして一般的に、これらのクラスは両方ともネイティブ OS ライブラリを使用します。QFile
を使うと思いますifstream
。ifstream
ネイティブ OS ライブラリのラッパーでQFile
あり、属性が追加されているため、より厚いラッパーです。しかし、最適化され管理された方法でメモリを使用したい場合、これはあまり重要ではないと思います。
まあ、どちらも速いと思います。ifstream と QFile の両方の操作にかかる時間をいつでも確認できます。しかし、誰かが言ったように、QFile を使用すると、より少ない行を記述できます。