我正在使用核心數據來存儲很多(1000s)的項目。每個項目上的一對屬性用於確定唯一性,所以當新項目進入時,我會在插入它之前將其與現有項目進行比較。由於傳入的數據是RSS饋送的形式,因此通常會有很多副本,並且分離步驟的成本爲O(N^2),這已變得非常重要。使用現有的核心數據實體進行抽樣
現在,我在迭代(可能的)新項目列表之前創建一組現有項目。我的理論是,在第一次迭代中,所有項目都會出錯,並且假設我們沒有按下內存,那麼大部分這些項目將在迭代過程中保持駐留。
我看到我的選擇正是如此:爲uniquing
- 使用字符串比較,遍歷所有的「新」項目和比較所有現有項目(目前的做法)
- 使用謂詞來篩選組現有項目違反「新」項目的屬性。
- 對核心數據使用謂詞來確定每個「新」項目的唯一性(不檢索現有項目集合)。
選項3是否可能比我目前的方法更快?你知道更好的方法嗎?
我結束了這條路線,目前看起來非常高效。謝謝您的幫助。 – warrenm 2010-06-28 17:55:29