stream-流的效率

背景

  • 使用流批量处理数据的时候,我们最关注的肯定是效率问题
  • 数据批量处理分为4类
    • 原始的for循环处理基本类型
    • 基本类型包装流
    • 原始的for循环处理包装类型
    • 原始的依稀那个流Stream.of(1,2,3,4)

对比(单线程)

  • 任何是时候,原始的for循环处理基本类型 都是最快的,普通的Stream永远都是最慢
  • 数据量越大,基本类型包装流 的 速度就越接近 原始的for循环处理基本类型
  • 如果数据量大,可以考虑使用流代替for循环,因为写法更加简洁,但是任何时候都要避免使用普通的stream进行计算

在这里插入图片描述

对比(多线程和单线程)

  • 自定义的多线程
  • 并行流
  • 串行流
  • 原始for循环

数据量小

  • 数据量小的时候
  • 串行比并行速度快,因为并行开启线程消耗大量时间
  • 最快的还是for训话

在这里插入图片描述

数据量大

  • 数据量大的时候,串行流最慢自定义的多线程最快
  • 速度:自定义多线程 >并行流>for循环>串行流

在这里插入图片描述

总结

  • 数据量大的时候,多线程优势逐渐体现
  • 数据量小的时候,开启多线程反而更加耗费时间和资源
  • 并行流比自己写多线程要简洁很多
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值