小编sla*_*r_b的帖子

具有数组性能的Scala操作(scalacl插件)

有没有使用scalacl插件的缺点?

我打算在我的项目中使用scala.我在scala中编写了一些代码来查看它的执行时间.

(1 to 1000000).map(1 + _).sum
Run Code Online (Sandbox Code Playgroud)

1.没有插件

编译成这样的东西:

BoxesRunTime.unboxToInt(((TraversableOnce)Predef..MODULE$.intWrapper(1).to(1000000).map(new MyScala..anonfun.1(), IndexedSeq..MODULE$.canBuildFrom())).sum(Numeric.IntIsIntegral..MODULE$));
Run Code Online (Sandbox Code Playgroud)

并在大约375毫秒运行

2.使用scalacl插件

 int i = 1;
 int j = 1000000;
 int k = j;
 int m = i;
 for (VectorBuilder localVectorBuilder = new VectorBuilder(); m <= k;) {
     int n = m;
     localVectorBuilder.$plus$eq(BoxesRunTime.boxToInteger(1 + n));
     m += 1;
 }
 int a =  BoxesRunTime.unboxToInt(localVectorBuilder.result().sum(Numeric.IntIsIntegral..MODULE$));
Run Code Online (Sandbox Code Playgroud)

259毫秒

scala scalacl

7
推荐指数
1
解决办法
332
查看次数

标签 统计

scala ×1

scalacl ×1