惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
Y
Y Combinator Blog
I
InfoQ
Recent Announcements
Recent Announcements
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - Franky
IT之家
IT之家
H
Help Net Security
月光博客
月光博客
S
SegmentFault 最新的问题
B
Blog
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Vercel News
Vercel News
博客园 - 叶小钗
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss

Scala

这个分类好久没新帖子了,记录下最新用 scala 3 写的项目 sbt run 的时候,能不能跳过 compile 直接 run? 还有必要用 scala 吗 有 scala 兄弟吗?有招 scala 的公司吗? Scala 单元测试 scala 模型导出问题 想用 Springboot 做后端接口,但组里 scala 大佬希望我用 Akka Http 怎么办 可能是家庭背景最深厚的程序员写的书... sbt 为什么能这么垃圾? sbt 1.3.0 released, 依赖管理从 ivy 变为 Coursier 如何停止已经提交到 Spark 集群上的任务? Scala 元编程:在日志库中的应用 关于《Scala 编程(3rd)》中, 20.6 抽象类型 P424 的疑问 请教下关于用 Flume+kafka+Spark 实现实时监控错误日志报警的功能 闲话 Scala Native: 初次见面,请多多关照 Scala 中不带具体实现的 object 是什么用法 scala 命令行删除字符不能正常显示 spark 技术面试被问到个问题,有点问懵逼了,求指点 scala 中 _ 的语法问题 [小广告] scala 中文 telegram 群组: t.me/scala_zh Scala 中国社区、微信群? Scala's types of types 译文 Scala 自学笔记-参考书籍 Programming in Scala 第三版 scala 如何实现某个代码段同一时刻只能有一个进程在读,其他进程只能等待。 请问该怎样结合实践去学习 Scala,谢谢! 欢迎来访开放源码的 PlayScala 社区(http://www.playscala.cn) 请问我下载了乌云的 digatalAllData,说明上写着用 case class 解析出数据,那有没有详细的方法? 嘿,Scala 这货你们都应用在什么项目上了,打算接触试试呢~ sbt package 将 scala 源代码一并打包进去? 大家都用什么 orm 或 mysql db library
集合类型 filter 后执行 foreach 的效率 比 foreach 里写 if ...
muziling · 2020-05-21 · via Scala
object test {
  def main(args: Array[String]): Unit = {
    def listTestD = (0 to 20000000).toList
    var l1 = System.currentTimeMillis()
    var sum = 0
    listTestD.foreach{x=> if (x%2==0) sum = x}
    println(System.currentTimeMillis()-l1)
    sum = 0
    l1 = System.currentTimeMillis()
    listTestD.filter(_%2==0).foreach(sum = _)
    println(System.currentTimeMillis()-l1)
  }
}

执行结果是: 17585, 21059 效率差 20%左右

避免缓存,对掉两个 foreach

object test {
  def main(args: Array[String]): Unit = {
    def listTestD = (0 to 20000000).toList
    var l1 = System.currentTimeMillis()
    var sum = 0
    listTestD.filter(_%2==0).foreach(sum = _)
    println(System.currentTimeMillis()-l1)
    sum = 0
    l1 = System.currentTimeMillis()
    listTestD.foreach{x=> if (x%2==0) sum = x}
    println(System.currentTimeMillis()-l1)
  }
}

执行结果是: 35082, 16201 效率差近 50%。

如果 listTestD 存储一个对象的内容,效率是不是会差更大?