小编She*_*sha的帖子

列表中的Scala与F#的范围为1到100000000

我已经在F#和Scala上编写了一个列表处理函数来比较性能.要测试该功能,我需要将List初始化为1到100000000.

F#:

let l = [1..100000000];;
Run Code Online (Sandbox Code Playgroud)

Real:00:00:32.954,CPU:00:00:34.593,GC gen0:1030,gen1:520,gen2:9

这有效.

Scala: Scala -J-Xmx2G选项

val l = (1 to 10000000).toList // works

val l = (1 to 100000000).toList // no response long while and finally got java.lang.OutOfMemoryError: Java heap space
Run Code Online (Sandbox Code Playgroud)

使用100000000(100,000,000),长时间(一小时)没有响应,CPU利用率为75%到90%,内存利用率为2GB,最终得到java.lang.OutOfMemoryError:Java堆空间.

我在Scala做错了吗?

f# scala list

6
推荐指数
1
解决办法
640
查看次数

标签 统计

f# ×1

list ×1

scala ×1