比方說,我正在寫一個「DayData」類,包含高德密集科學應用的NSDecimalNumber?
NSString *symbol; //such as "AAPL"
NSString *currency; //such as "USD"
NSDate *day;
double open;
double high;
double low;
double close;
最後四個實例變量是開放的,高,低,接近股票的那一天的價格。
假設我使用這個類作爲沿着數十年(即數千天)的歷史數據進行密集蒙特卡羅模擬的基本構建塊類。這意味着我必須在短時間內訪問這些ivars,如果不是數百萬甚至數十億次以儘可能快地進行模擬。
問題:我應該堅持加倍,還是應該使用NSDecimalNumber? NSDecimalNumber速度有多快?有人在這裏測試NSDecimalNumber密集的科學應用程序?
嗯。你可能有一些關於如何使用NSDecimal的代碼示例?因爲看起來NSDecimal中的變量是私有的。是通過NSDecimalNumber類創建NSDecimal的唯一方法嗎?這有點令人困惑。 – Enchilada 2010-08-20 05:24:00
@enchilada:是的,不幸的是,它看起來像你必須創建它像'NSDecimal d = [[NSNumber numberWithInt:(some number)] decimalValue]'。但是你可以使用更快的C函數。 – jtbandes 2010-08-20 05:36:52