代码之家  ›  专栏  ›  技术社区  ›  Maciej Swic

关于Objective-C中的整数和内存管理

  •  0
  • Maciej Swic  · 技术社区  · 14 年前

    在我的一个项目(循环的一部分)中有此代码:

    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);
    

    这会有什么不同吗?是否削减休假分配?节省内存?

    它比第一个代码片段更难读取,但是在这些方法中,im在性能之后,而不是代码可读性。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Daniel A. White    14 年前

    别担心-这将是一个微观优化。编译器应该足够聪明,能够处理这样的情况。这是一个很好的可读性案例。