簡體   English   中英

使用C ++比較巨大的文件

[英]Comparing Huge Files using C++

我有兩個大文本文件,每個文件有超過1000萬行。 如何使用C ++比較文件並在文件中獲取不同的行。

我嘗試將一個文件加載到內存中並對內存進行排序,並使用二叉​​樹邏輯來比較文件。 它比較並給了我20秒的結果。 但它消耗更多的內存。 (文本文件大約500 MB)。

我想比較兩個文件而不消耗更多內存,良好的性能和對硬盤的影響最小。

你可以使用兩遍法。

第一次通過,你讀取文件但只存儲行的哈希值和行起始位置,然后你可以根據哈希值比較文件,你只能在第二遍中讀取行再次進行完全比較,當兩行具有相同的哈希值時。 這樣可以節省內存消耗和CPU時間,兩次讀取一些行會有點損失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM