2016-07-12 46 views
-3

我正在用Java處理大量數據。我不知道我是否應該parseStringBigInteger一次,並計算出這個數字的mod,或者我是否應該更好除以String成段和parse這些細分定位到int和計算mod這樣。我應該使用BigInteger而不是從字符串解析整數嗎?

我在追求最佳性能。哪種方法更好?

+6

爲什麼不嘗試這兩個選項,然後基準?這將是一次很好的學習經歷。 – sstan

+3

如果您決定對其進行基準測試,請確保避免[人們犯的常見錯誤](http://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in -java)。 – resueman

+0

BigInteger使用int []'實現。 mod操作有兩種不同的算法,根據各種條件選擇,以實現良好的性能。你不可能做得更好(除非你使用的案例非常具體,你可以採取一些通用類中不可能的捷徑)...... – assylias

回答

0

BigInteger被做成這樣的事情,目前的實現已經很好的優化了。

另外,我不知道你怎麼想分區繩子,讓你真正得到使用long S或int S上的正確mod結果,而不必採取了一些極端情況,並沒有密集的測試服務。

因此,雖然我同意,如果你真的想實現自己的算法,你實際上應該資料這個,性能比較BigInteger我個人不認爲試圖重新發明輪子是必要。我會用BigInteger

相關問題