【发布时间】:2013-08-20 12:18:45
【问题描述】:
我有一个代码:
seq {for i in [1 .. 100000000] -> i} |> Seq.take 100000;;
Real: 00:00:00.000, CPU: 00:00:00.000, GC gen0: 0, gen1: 0, gen2: 0
val it : seq<int> =
Error: Exception of type 'System.OutOfMemoryException' was thrown.
此代码导致内存不足。为什么?为什么时间计算后(操作完成后)抛出异常? AFAIK,仅根据需要计算单个序列元素?
【问题讨论】:
-
您在创建序列之前强制创建一个列表。删除方括号应该会有所帮助
标签: memory-management f# sequence