for(),for迭代器,forEach(),stream(),parallelSteam() 执行效率基本对比结果

以下内容为个人亲自执行结果,编写只为记录与分享,若有不同可直接留言,共同交流,共同进步!后续会不断完善!

测试环境

  1. win10 4核20G
  2. jdk1.8.0_231
  3. IDEA2019.3

分别执行10条, 100条, 100条, 1000条, 10000条, 100000条, 1000000条数据测试结果分析

  1. 执行循环内容时间较长, 超过1s左右时, 使用parallelSteam效率最高
    parallelSteam是并行,
    并行,指的是在同一时刻多个任务同时执行。
    并发,指的是在同一时间段多个任务交替执行。
    当然,并行的执行速度更快,但并行也依赖硬件设置,因为它依赖硬件CPU是多核的场景。并发则不受限制。
  2. forEach()不管是循环内容时间长短消耗时间都是最长的, 在内容执行时间短时,执行所消耗是其他方法的5-20倍, 在消耗时间超过1s时, 随着执行条数增加消耗时间缩短, 在1000条以上时与其他方法消耗时间持平
  3. Stream为串行流,执行效率上比for要差一些, 是以时间换空间
    执行内容时间短时, 效率对比, for >= for迭代器>stream>parallelSteam>forEach
    执行内容时间长时, 效率对比, parallelSteam>for >= for迭代器>stream>forEach
  4. 集合中拿取数据时, 通过Stream方式多次获取与for循环一次组装效率对比, for循环效率更高!

版权声明:本文为Li_Chunxiao_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。