2012-06-10 155 views
1

我想弄清楚哪個更快,以及學習如何進行基準測試。你認爲這是測試QFile VS ifstream的準確方法嗎?QFile VS ifstream。哪個更快?

http://ideone.com/ipkGh

+2

更快以什麼方式? 'QFile'比'ifstream'更短,所以它的寫入速度更快;} – Blender

+2

使用'.eof()'作爲循環條件是[壞習慣](http://stackoverflow.com/questions/5605125/ why-is-iostreameof-inside-a-loop-condition-considered-wrong) – Blastfurnace

+0

我應該用什麼來代替.eof()。 –

回答

4

速度和優化是每個節目2個的重要因素。它們更依賴於程序員而不是語言或實施依賴。很多時候,當我們需要優化時,我們認爲當前的語言或實現沒有得到優化。 ifstream是C++中的標準類,我認爲QFile使用它。您想要測量的速度和比例可以在定義的環境中進行描述和測量,並且最好描述您正在面對的情況。

另一個重點,我不明白爲什麼文件操作符類的速度對你很重要?許多與文件相關的操作可以並且應該在內存中完成,陷入硬盤的陷阱應該保持最小。因此,在理想的情況下,我認爲ifstream,QFile或任何較慢的文件訪問框架沒有區別。對於您和一般來說,這兩個類都使用本機操作系統庫。我認爲QFile使用ifstreamifstream是本機操作系統庫的包裝,QFile由於其他屬性而是較厚的包裝。但我不認爲這是非常重要的,當你想以優化和管理的方式使用內存。

0

嗯,我會說他們都快。您可以隨時檢查執行ifstream和QFile操作所需的時間。但就像有人說,如果你使用QFile,你可以寫更少的行。