繁体   English   中英

这些哪个对性能更好

[英]which one these is better for performance

我正在解决一个问题,我需要尽可能地优化我的代码。

我有一个循环,需要进行一些计算,并且需要向数组中添加元素以进行进一步的计算:

for (int i = 0; i < lightCount; i++) {
    int dis = in.nextInt();
    int dur = in.nextInt();
    double unit = distance / duration * 3.6;
    array[i] = unit;

    if (speed < unit) {
        double n = unit / (2 * speed);

        if (!((n - (int) n) == 0))
            n = n + 1;

        int tmp = (int) (unit / (2 * (int) n));

        if (tmp < answer)
            answer = tmp;
    }
}

在以下情况中,最好的是:

  1. 使用unit或直接访问数组(用array[i]替换unit
  2. 使用中间变量或直接计算结果。 例如,删除n并将其替换为公式
  3. 创建许多方法来分解代码或将所有计算都放在一种方法中
  1. 没关系。

  2. 这仅在您在计算中调用函数并多次使用同一表达式时才重要。 在这种情况下,没关系。

  3. 没关系。 为了提高可读性,您可能需要将不同的功能拆分为不同的功能。

编辑:IO通常是瓶颈。 in.nextInt()有什么作用? 您可以将其移出循环吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM