有没有使用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毫秒