我必須編寫一個比較10'000'000 +實體的程序。實體在數據庫/ csv文件中基本上是平坦的行。比較10萬個實體
比較算法是相當靈活的,它是基於在最終用戶輸入規則的規則引擎和各實體對每一個其他實體相匹配。
我在考慮如何將此任務分解爲更小的工作負載,但我還沒有找到任何東西。由於規則是由最終用戶預先排序輸入的,DataSet似乎是不可能的。
我現在要做的是將整個DataSet放入內存並處理每個項目。但這不是非常高效,需要約。 20 GB的內存(壓縮)。
您知道我如何分割工作量或縮小尺寸嗎?
感謝
每個實體都與*每*其他實體進行比較?你確定?這是〜5x10^13個組合......如果你能每秒執行一百萬次比較,那將需要超過一年半的時間。 – 2013-02-28 12:09:57
此規則引擎是否已經寫入?這似乎是比C#更適合於數據庫的工作。 – 2013-02-28 12:13:50
非常多。如果我知道這些規則如何與現在的比較,我可以大大減少工作量。但我不知道他們究竟如何定義匹配規則 – senic 2013-02-28 12:13:55