如果我們取一個特定大小的文件,哪個操作的執行速度會更快?讀取整個內容或將內容寫入文件。性能對打開文件的模式有任何依賴性。哪個文件操作更快,讀取或寫入
0
A
回答
2
讀取和寫入文件速度與語言無關,但與您使用的磁盤驅動器無關。
使用一種語言或其他語言可以在CPU綁定的應用程序上提供優勢。
1
我有點驚訝,因爲這個問題沒有什麼意義,只要如果你有寫如果讀取速度更快(反之亦然),它並不能幫助。無論如何,你必須做你必須做的事情。
這就是說,寫作通常比較慢。我說「通常」是因爲你不一定看到直接閱讀和寫作的速度。
C++中的讀寫操作在應用程序級別進行緩衝,並且(通常)在操作系統級別進行緩衝。因此,您所看到的「寫入速度」相當於將數據複製到緩衝區的速度,並最終將緩衝區刷新到操作系統。
這個詭辯放在一邊,寫作(通常)比閱讀慢,因爲這是設備的工作方式。硬盤只能寫入完整的集羣,而固態硬盤只能寫入整個集羣組(通常在512kB左右)。這意味着定期寫作需要讀取先前寫入數據的完整「單元」,對其進行修改,然後寫回整個單元。此外,它可能(在某些設備上)需要重新讀取數據以確保其成功寫入。這明顯是必須比閱讀慢。
請注意,操作系統在很大程度上會合並寫入,因爲寫入通常由虛擬內存子系統懶惰地執行,除非您明確要求同步。讀操作也是如此,因爲虛擬內存系統通常會預設大量數據(通常大約在64-128kB之間)。因此,除非您的讀/寫是巨大的,否則您看到的任何時序都不對應於真正的讀/寫時序。
相關問題
- 1. 哪一個更快:從控制檯讀取或寫入文件和閱讀?
- 2. 寫入文件時哪一個更快?
- 3. 寫入文件讀取操作
- 4. 哪個更快在php/mysql?文件操作或連接池
- 5. 哪個Files.readAllLines或Files.lines方法對文件讀取更快?
- 6. Python快速讀取和寫入文件
- 7. Android - 字典文件。哪個更快,數據庫或直接讀取文件?
- 8. 哪一個更快的重寫或基於文件夾的URL?
- 9. 哪個更快?插入或更新?
- 10. 使用JavaScript寫入或讀取文件
- 11. 寫入或從文件讀取
- 12. times一個文件的讀寫操作
- 13. 對於基本的讀取操作,jdbc或ldap是否更快?
- 14. 寫入並讀取到csv文件 - I/O操作錯誤
- 15. Matlab中的二進制文件寫入/讀取操作
- 16. 遠程文件讀取和寫入操作
- 17. 在讀取或寫入文件系統時執行其他操作
- 18. 讀取和寫入操作BufferedReader和BufferedWriter
- 19. HDFS緩衝寫入/讀取操作
- 20. NFC標籤讀取/寫入操作
- 21. 哪兩個文件操作更好?
- 22. 爲什麼使用操作系統和磁盤緩衝區寫入文件後讀取操作要快得多?
- 23. 哪個更快 - 堆疊畫布或像素操作?
- 24. 這可以做得更快(讀取文件,替代[sed],寫入新文件)
- 25. 讀取和寫入文件
- 26. 寫入/讀取小文件
- 27. NSString讀取/寫入文件
- 28. 讀取/寫入bmp文件
- 29. Java:文件讀取/寫入
- 30. 讀取寫入文件Substitution_Ciphers
讀取會更快 –
這實際上與C++沒有任何關係,但具有存儲介質(如硬盤)和操作系統的特性。 –
在寫入文件系統時可能會緩存寫入操作,並儘早完成文件寫入操作。所以我不能保證閱讀速度更快。在讀取緩存時通常可能不包含該文件,並且必須發生物理讀取。寫作的實際工作當然要多得多。 _(這一切都沒有經驗支持。)_ –