【发布时间】:2025-11-27 17:45:02
【问题描述】:
我的任务是协调两个大数据集(两个大交易列表)。基本上,我将两个数据源中的相关字段提取到两个相同格式的文件中,然后比较这些文件以查找 A 中但不在 B 中的任何记录,反之亦然,并报告它们。我在my best efforts achieving this (click if interested).写了一篇博文
它的要点是将两个数据集加载到一个大哈希表中,键是行,每次出现在文件 A 中时值为 +1,每次出现在文件 B 中时值为 -1 . 然后在最后,我寻找任何值 != 0 的键/值对。
我的算法似乎足够快(2*100mb 文件需要 10 秒),但是它有点占用内存:280mb 比较两组 100mb 文件,我希望将其降低到 100mb 峰值内存使用量,并且可能如果两个数据集的排序大致相同,则较低。
有什么想法吗?
另外,如果这对 SO 来说过于开放,请告诉我。
【问题讨论】:
标签: c# optimization memory comparison