Scala Meetup WarmUp: 2.12.x慢了?

Scala Meetup WarmUp: 2.12.x慢了?

來自專欄 Industrial functional programming6 人贊了文章

Scala 2.12.x 比 2.11.x 的編譯速度快了不少,但是實測發現Scala 2.12.x變慢了。

sbt clean project benchmark set scalaVersion := "2.11.12" jmh:run -f 1 -i 20 -wi 20 -t 1 Richards[info] Benchmark Mode Cnt Score Error Units[info] Richards.run thrpt 20 7464.953 ± 65.303 ops/ssbt clean project benchmark set scalaVersion := "2.12.6" jmh:run -f 1 -i 20 -wi 20 -t 1 Richards[info] Benchmark Mode Cnt Score Error Units[info] Richards.run thrpt 20 6623.674 ± 51.901 ops/s

在這個評測中,2.11.x的吞吐大約是2.12.x吞吐的1.1倍。

依據 github.com/scala/scala-

我們需要在Scala 2.12.x 中使用這兩個編譯參數,提升所生成位元組碼的性能:

  • -opt:l:inline
  • -opt-inline-from

sbt clean project benchmark set scalaVersion := "2.12.6" set scalacOptions in ThisBuild ++= Seq("-opt:l:inline", "-opt-inline-from") jmh:run -f 1 -i 20 -wi 20 -t 1 Richards[info] Benchmark Mode Cnt Score Error Units[info] Richards.run thrpt 20 7456.257 ± 23.585 ops/s

評測代碼見:sadhen/scala-benchmark-starter

更多細節大家可以參與我們的 Meetup 討論哦!

sadhen:Scala Meetup in Hangzhou(九月)?

zhuanlan.zhihu.com圖標
推薦閱讀:

TAG:Scala | 編程語言 | 性能優化 |