我正在编写一个涉及检查很多变量的iPhone应用程序。记住效率,我想知道每种if语句的相对负载。我关心的是:
if (Variable == 0);
if (Variable != 0);
if (Variable > 0);
if (Variable < 0);
if (Variable <= 0);
if (Variable >= 0);
基本上,我要问的是处理器和内存上的每个上述if语句需要多少负载。它们是真正平等的,还是比其他处理器更重的处理器?非常感谢!
答案 0 :(得分:3)
您要比较的变量比您正在使用的运算符更重要。在您的问题中,您使用的是整数。除非你做了大量的比较,否则整数比较速度很快就会忘记对它进行基准测试。
如果使用对象,则依赖于该对象的运算符实现。这将需要更多的CPU周期,但不足以担心。
过早优化是万恶之源。代码优先并优化后!
答案 1 :(得分:-3)
我建议使用NSDate单独测试每个调用。我承认我不知道这是否是最好的方法,但它很简单。如果你愿意,你甚至可以用它自己的方法包装每个调用。以下是一个类似的问题,可以指导您:
How to log a method's execution time exactly in milliseconds?