2013-03-30 63 views
1

我想了解瞬態與原子的優缺點。典型的用例是什麼?瞬態與原子

特別是,我擔心的是轉換從MySQL數據庫返回的集合。每個實體最多有4行。我希望將其恢復爲每個實體的一個映射關鍵字,並對這些值進行一些處理。

預先感謝您 -

回答

4

瞬變intented到性能方面的原因提供了非常局部可變集合 - 如果你不需要的表現,沒有理由使用它們,因爲它們的API設計相匹配正常的,不可變的clojure集合,除了更多的麻煩。

原子提供具有顯式併發/多線程特性的潛在全局可變狀態。

您不需要進行基本的數據轉換或處理。第1步:首先讓您的程序使用標準的不可變集合。幾乎從不需要第2步。

+1

我有一個MySql測試數據庫,有2百萬行,其中6000個客戶發出4種以true或false結尾的事件。該查詢返回24000行。我想要一張地圖,其中的客戶ID是關鍵字,另一個地圖是其他細節的值。然後,我將能夠清晰地繪製/減少/過濾帳單。 最初的方法花了大約90秒。瞬態降低到37個。原子在20秒內完成。硬編碼事件在15秒內完成。 15似乎沒問題,但我願意學習更多。我將在C#中進行相同的比較。 謝謝 - –