精华内容
下载资源
问答
  • 2021-12-01 14:46:34

            for循环是每个开发者在初学开发时都会学到的一个知识点,用起来特别简单容易,那么,身为编程界大(ruo)佬(ji)的我们真的都get到它的使用方法了吗【手动狗头】?循环次数偏多的时候有没有办法适当提高它的效率?

    首先,让我们看看原始的for循环语句:

    for(var i=0;i<arrays.length;i++){
        //对arrays[i]进行处理
    }

            如果上述数组为我们平时练习时定义的数组,数组长度很短,这样做显然没有什么问题。但如果这个数组存了一条上万,甚至几百万的数据呢?当然,实际开发中大量数据从数据库取出来之后是存入在集合中的,但其实道理都一样哈~ 

            假如,这是一个长度为500万的数组,那么要循环这500万次的时候再获取500万次这个数组的长度吗?显然这样会大大降低程序的运行速度,降低用户的满意度的(っ °Д °;)っ!那么,我们可以使用下面的方式进行优化:

    for(var i=0,len=arrays.length;i<len;i++){
    //操作数组
    }

    这样,只需要检索一次arrays数组的长度即可。不过。。。。。。。。。这样看来,这个循环好像还可以进一步优化,你想到了吗?

    var i,max=arrays.length;
    for (i=0;i<max;i++){
        //对数组arrays进行操作
    }

     

    更多相关内容
  • python for循环优化

    2020-12-22 13:22:55
    最初,建立项目时用户少,中间使用了for循环,还是嵌套的,共两层,项目整体运行一次耗时1-2个小时。最近,随着用户量增长,项目耗时达到6-7个小时。显然是不能接受的。 for t, w in user_tags: for it, w in tag_...
  • 主要介绍了Java for循环性能优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • for循环优化

    千次阅读 2019-08-24 18:29:56
    一、多个for循环,遵循外小内大 stratTime=System.nanoTime(); for(inti=0;i<10000000;i++){ for(intj=0;j<10;j++){ } } endTime=System.nanoTime(); System.out.p...

    一、多个for循环,遵循外小内大

    stratTime = System.nanoTime();  
    for (int i = 0; i < 10000000; i++) {  
        for (int j = 0; j < 10; j++) {  
              
        }  
    }  
    endTime = System.nanoTime();  
    System.out.println("外大内小耗时:"+ (endTime - stratTime));  

    改为:

    stratTime = System.nanoTime();  
    for (int i = 0; i <10 ; i++) {  
        for (int j = 0; j < 10000000; j++) {  
              
        }  
    }  
    endTime = System.nanoTime();  
    System.out.println("外小内大耗时:"+(endTime - stratTime)); 
    

    消耗时间对比:

    外大内小耗时:200192114  
    外小内大耗时:97995997

    原因:

    两者的循环次数是一直的,造成性能差异,主要是实例化次数和初始化次数不一样。

     

    二、提取与循环无关的表达式到循环外

    stratTime = System.nanoTime();  
    for (int i = 0; i < 10000000; i++) {  
        i=i*a*b;  
    }  
    endTime = System.nanoTime();  
    System.out.println("未提取耗时:"+(endTime - stratTime)); 
    

    改为:

    stratTime = System.nanoTime();  
    c = a*b;  
    for (int i = 0; i < 10000000; i++) {  
        i=i*c;  
    }  
    endTime = System.nanoTime();  
    System.out.println("已提取耗时:"+(endTime - stratTime)); 

    耗时对比:

    未提取耗时:45973050  
    已提取耗时:1955

     

    三、消除循环终止时的方法调用

    stratTime = System.nanoTime();  
    for (int i = 0; i < list.size(); i++) {  
          
    }  
    endTime = System.nanoTime();  
    System.out.println("未优化list耗时:"+(endTime - stratTime)); 

    改为:

    stratTime = System.nanoTime();  
    int size = list.size();  
    for (int i = 0; i < size; i++) {  
          
    }  
    endTime = System.nanoTime();  
    System.out.println("优化list耗时:"+(endTime - stratTime));

    耗时对比:

    未优化list耗时:27375  
    优化list耗时:2444

     

    四、异常捕获

    stratTime = System.nanoTime();  
    for (int i = 0; i < 10000000; i++) {  
        try {  
        } catch (Exception e) {  
        }  
    }  
    endTime = System.nanoTime();  
    System.out.println("在内部捕获异常耗时:"+(endTime - stratTime)); 

    改为:

    stratTime = System.nanoTime();  
    try {  
        for (int i = 0; i < 10000000; i++) {  
        }  
    } catch (Exception e) {  
      
    }  
    endTime = System.nanoTime();  
    System.out.println("在外部捕获异常耗时:"+(endTime - stratTime)); 

    耗时对比:

    在内部捕获异常耗时:12150142  
    在外部捕获异常耗时:1955

     

    五、拆分为多个循环

    https://www.cnblogs.com/yulinlewis/p/9784693.html

    展开全文
  • 多重For循环 优化

    2012-11-06 23:34:34
    多重For循环 优化
  • 双重for循环优化

    千次阅读 2020-12-28 10:18:30
    双重for循环优化 双重for循环优化思想:主要是将某一层的数据转成map类型,用比较字段去map里面get,若拿到数据则匹配上了 由于是在云上开发,代码拿不下来(公司限制了),就只能截图了,希望读者将就着看。 ...

    双重for循环优化

    双重for循环优化思想:主要是将某一层的数据转成map类型,用比较字段去map里面get,若拿到数据则匹配上了

    由于是在云上开发,代码拿不下来(公司限制了),就只能截图了,希望读者将就着看。

     

    展开全文
  • 主要介绍了Java for循环Map集合优化实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • for循环优化 --- 多线程并发实现

    千次阅读 2022-01-29 09:21:35
    而当for循环的次数过多,以及多重for循环时,我们会发现执行效率会变的很低,整体耗时非常多。 本次我们就使用多线程并发的方式来对循环进行优化。 多线程并发实现 1. 创建线程池 // newFixedThreadPool是...

    前言

    我们在代码中经常需要使用for循环这个操作来达到目的。而当for循环的次数过多,以及多重for循环时,我们会发现执行效率会变的很低,整体耗时非常多。

    本次我们就使用多线程并发的方式来对循环进行优化。

    多线程并发实现

    1. 创建线程池

    // newFixedThreadPool是固定线程池,10代表线程池数量
    ExecutorService pool = Executors.newFixedThreadPool(10);

    2. 写for循环,并在for循环中创建Runnable对象

    for (int i = 0 ; i < groupValues.size() ; i++) {
        SitGroupPortray groupValue = groupValues.get(i);
        // 创建Runnable对象
        Runnable runnable = new Runnable() {
            // 重写runnable对象中的run方法
            @Override
            public void run() {
                // 业务逻辑
            }             
        };
        // 步骤1 中创建的线程池对runnable对象调用
        pool.execute(runnable);
    }

    3. 关闭线程池

    // 步骤1 中线程池,进行关闭
    pool.shutdown();

    4. 之后需要做一个判断,判断只有所有的线程都执行完才能往下执行

    while(true){
        if(pool.isTerminated()){
            break;
        }
    }

    展开全文
  • python双重for循环优化方法。

    千次阅读 2020-08-31 14:54:06
    有些特殊需求需要用双重for循环遍历图像来操作例如下面代码 def getbinarizationimg(simg, targeth, targetw): print(simg.shape) h,w,c = simg.shape box = np.zeros((h, w),dtype=np.uint8) pole = np.zeros...
  • JavaScript循环优化 为什么需要代码优化? 代码优化是用于提高代码质量和效率的一组代码修改方法。 可以对程序进行优化,使其尺寸更小,消耗更少的内存,更快地执行或执行更少的输入/输出操作(来自Google)。 因此...
  • For 循环优化,提升效率

    千次阅读 2020-03-23 15:15:27
    我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。 首先,我们初始化一个集合...
  • 多重for循环优化,提升运行效率

    万次阅读 多人点赞 2018-07-18 09:37:08
    在循环次数较少的时候一般...客户体验会非常不好,才研究这个情况的,事实证明,优化后的多重for循环提升了一大半的效率,是不是很神奇。 当然,本文也有借鉴其他同胞的方法。 实例化变量放在for循环外,减少实...
  • 常见For 循环优化方式总结

    千次阅读 2019-05-14 19:57:50
    首先,我们初始化一个集合 list,如下: List<String> list = new ArrayList<String>(); 方法一:最常规的不加思考的写法 ...for (int i = 0; i < list.size(); i++) { System.out.print...
  • 多层for循环优化

    千次阅读 2019-05-12 13:33:51
    1.6.1 找出最大周长的三角形 /*可以用穷举找出最长,三重循环。*/ for (i = 0; i ;++i) { for (j = i + 1; j ; ++j) { for (k = j + 1; k ; ++k) { len = b[i] + b[j] + b[k]; m
  • js,java提高编程效率之【for循环优化
  • java for循环优化

    千次阅读 2018-02-07 14:31:34
    1.嵌套循环中,应把数据级小的放在外面,数量级大的放在里面。 for (int i = 0; i 10 ; i++) {   for (int j = 0; j 10000000; j++) {     }  }  外大内小耗时:200192114...
  • java for循环及其优化

    千次阅读 2021-03-16 11:37:30
    for循环1.首先知道,for循环的3个表达式的意思:表达式1: 一般为赋值表达式,给控制变量赋初值;表达式2: 关系表达式或逻辑表达式,循环控制条件;表达式3: 一般为赋值表达式,给控制变量增量或减量。3个表达式都...
  • JS之for循环优化

    千次阅读 2016-03-25 16:08:50
    1.for循环  Javascript代码  for(var i=0;i  //循环主题  }  其中for循环是最常见的循环结构,由四部分组成:初始化、前测条件、后执行体、循环体。当代码运行遇到for循环时,先运行初始化代码,然后...
  • C++ For循环优化

    2010-07-22 19:01:58
    C++循环冒泡法优化 在看到for循环冒泡排序(c++) 后 再次优化了一下,它的程序不能运行,我运行优化的成功了,对初学者理解有很大帮助(还有注释)
  • for 循环优化

    2022-02-14 14:27:18
    经常使用循环耗时计算的操作,尤其是 for 循环,如果处理不好,耗时就比较长,如果处理书写得当将大大提高效率,下面总结几条 for 循环的常见优化方式。 一、消除循环终止判断时的方法调用 优化前: for (int i = 0;...
  • 双层for循环优化

    千次阅读 2019-03-29 17:04:42
    将原来时间复杂度由n平方降低为n+n实现了对代码的优化
  • 对于 Imperfect loop nest 可以通过代码优化手段将其转变为 Semi-Perfect loop nest 或者 Perfect loop nest。 在外部循环做 pipeline 可以获得最理想的 latency,但同时资源消耗也最多,因为做 pipeline的时候其...
  • 1案例描述某日,在JavaEye上看到一道面试题,题目是这样的:请对以下的代码进行优化for (int i = 0; i < 1000; i++)for (int j = 0; j < 100; j++)for (int k = 0; k < 10; k++)testFunction (i, j, k);2 ...
  • 如何优化Python中的嵌套for循环

    千次阅读 2021-04-27 03:41:58
    纽比广播如果不受内存限制,优化numpy中嵌套循环的第一步是使用广播并以矢量化的方式执行操作:import numpy as npdef mb_r(forecasted_array, observed_array):"""Returns the Mielke-Berry R value."""assert len...
  • java 优化双重for循环

    千次阅读 2022-04-07 13:40:43
    首先我们要有两个对象分别是 学生信息 和 学生住宿信息 class Student { //学生id private Integer studentUserId; //学生名称 private String name; } class Student { //学生id ... pri
  • 一. 基本性能指标 for循环优化的基本概念、对for循环施行流水的优化、for循环的展开以及for循环的循环变量的数据类型是否对结果资源有影响 1. 流水线优...
  • C++ for循环效率优化

    千次阅读 2021-11-04 10:47:58
    C++ for循环效率优化 背景 今天看到同事的代码,commit message说要提高循环效率,但是看起来非常浪费时间,我就想试一下for循环怎么写运行最快,发现还是非常有意思的。 首先是编译选项,在X86系统编译Release,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 377,363
精华内容 150,945
关键字:

for循环优化

友情链接: data.zip