我在我的一个项目(循环的一部分)中有这段代码:
newPath = [tileMap updatePathFromNode:point1 toNode:point2];
int x,y;
x = [[newPath objectAtIndex:0] nodeX];
y = [[newPath objectAtIndex:0] nodeY];
currFiend.motionTarget = ccp(x*20,y*20);
我现在正在寻找整个项目周围的区域来优化代码。我很好奇的是,将上述代码更改为以下代码是否会对性能产生任何影响?我知道这个改变可能是微不足道的,甚至可以忽略不计,我想知道的是,如果它确实对init和分配x,y没有任何影响。
newPath = [tileMap updatePathFromNode:point1 toNode:point2];
currFiend.motionTarget = ccp([[newPath objectAtIndex:0] nodeX]*20,[[newPath objectAtIndex:0] nodeY]*20);
这会有什么不同吗?刮掉分配时间?节省记忆?
它比第一个片段更难阅读,但是这些方法在性能之后,而不是代码可读性。
答案 0 :(得分:1)
别担心 - 这将是一次微观优化。编译器应该足够聪明以处理这样的情况。这是可读性的一个很好的例子。