首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PLINQ与LINQ: LINQ的OutOfMemoryException而不是PLINQ

PLINQ与LINQ: LINQ的OutOfMemoryException而不是PLINQ
EN

Stack Overflow用户
提问于 2011-11-10 00:26:37
回答 1查看 300关注 0票数 2

这是一个有趣的故事。首先,设置:

  • 8GB内存
  • Windows 7 Pro x64
  • VS2010终极

我有一个内存密集型算法,它使用LINQ/PLINQ处理数据。最初的实施依赖于PLINQ。单元测试成功。但是值得注意的是,当我试图从使用PLINQ和LINQ获得什么样的性能好处时,当禁用并行性时,同样的测试会在OutOfMemoryException上失败。

有什么合理的解释吗?我可以始终如一地复制。我没有检查,但我是否会耗尽内存而不是内存,而是一些资源,而这些资源根据线程模型被不同的分配?想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-10 05:26:34

.net中的单个对象限制在2GB以内,即使是64位对象也是如此.如果您不使用PLINQ,我会猜到某个对象(例如,一个列表)正在变大,超过2G,从而崩溃。使用PLINQ --因为它可以分解它的工作--我猜它会创建多个列表,所有的列表都在2GB以下。

请张贴一些代码,没有它是不可能提供任何细节。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8073625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档