电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

Scala 2.10和2.9.2的性能比较


发布日期:2018/9/15
 

我已经阅读了 Scala RC 的一些新特性该版本最值得关注的就是性能方面的提升我很好奇这个提升的幅度到底有多大于是我做了一个基准测试下面是我的两个测试用的代码

Eratosthenes 筛选

deferatosthenes(toNum:Int)={

defsieveHelp(r:IndexedSeq[Int]):Stream[Int]={

if(risEmpty)

Streamempty

else

rhead#::sieveHelp(rtailfilterNot(_%rhead==))

}

sieveHelp(+:(totoNumby))

}

Sundaram 筛选

defsundaram(toNum:Int)={

valn=(toNum)/

valnonPrimes=for(i<ton;j<ito(ni)/(*i+))yieldi+j+(*i*j)

+:((ton)diffnonPrimesmap(*_+))

}

其中 Sundaram 筛选方法运行 查找小于 万的所有素数而 Eratosthenes 刷选方法运行 查找小于 的所有素数结果如下

从上图你可以看出Sundaram 筛选方面的性能提升是微不足道的而 Eratosthenes 筛选方法的性能提升达到了 倍之多因为我非常期待 Scala 正式版的发布

上一篇:测试概念进行代码设计时的七条基本原则

下一篇:一个关于抛出异常的程序代码的分析