例如,我尝试做这样的事情:
- (BOOL)compare:(NSDecimal)leftOperand greaterThan:(NSDecimal)rightOperand {
BOOL returnValue = NO;
NSComparisonResult result = NSDecimalCompare(&leftOperand, &rightOperand);
if (result == NSOrderedDescending) { // if the left operand is greater than the right operand
returnValue = YES;
}
return returnValue;
}
但我想知道使用这个包装器时内存的成本有多大。 NSDecimalCompare函数通过引用获取参数(是单词?)。但我的方法没有。我发现难以使用的参考资料。我的方法是否创建了这些值的副本?这是浪费记忆吗?
答案 0 :(得分:2)
你将复制你的NSDecimal
,但它们只有36字节(如果我的数学是正确的)结构,所以它可能不是一个重要的开销。
但这真的是一个问题吗?例如,您是否每秒多次调用此方法?在尝试优化这样的事情之前,首先对代码进行示例以查看瓶颈所在。正如Knuth所说,“过早优化是所有邪恶的根源”。