问题标签 [plinq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net-3.5 - 我在哪里可以获得 VS 2008 的 Plinq?
由于它与框架集成,因此该包似乎已从网络上删除。有人可以指向我可以下载它并将其与我的 .net 3.5 应用程序一起使用的下载站点吗?
c# - 比较 i4o 与 PLINQ 以获取更大的集合
我有一个问题想问任何有 i4o 或 PLINQ 经验的人。我有一个需要查询的大对象集合(大约 400K)。逻辑非常简单明了。例如,有一个 Person 对象的集合,我需要找到与相同 firstName、lastName、datebirth 或 FirstName/lastname 的首字母等匹配的人员。使用 LINQ to Object 只是一个耗时的过程。
我想知道如果 i4o (http://www.codeplex.com/i4o )
或 PLINQ 可以帮助提高查询性能。哪一个更好?如果有任何方法。
谢谢!
c# - Plinq 给出了与 Linq 不同的结果——我做错了什么?
谁能告诉我正确的 Plinq 代码是什么?我将双精度数组的每个元素的正弦绝对值的平方根相加,但 Plinq 给了我错误的结果。
该程序的输出是:
Linq 聚合 = 75.8310477905274(正确) Plinq 聚合 = 38.0263653589291(大约应该是一半)
我一定是做错了什么,但我不知道是什么...
(我在 Core 2 Duo Windows 7 x64 PC 上使用 Visual Studio 2008 运行它。)
这是代码:
linq - F# 和 PLINQ 扩展方法
在深入研究 F# 的最新版本时,我尝试让它与 PLINQ 交互。然而,我注意到两者在代码方面并没有很好地结合在一起。事实上,编写如下代码似乎是不可能的:
因为 System.Linq.ParallelEnumerable 类中包含的 ParallelQuery 的扩展方法似乎没有被 F# 采用。
如果根本不支持扩展方法,我不会感到惊讶,但是由于我可以访问为 IEnumerable 定义的 someArray.Count 扩展方法,我想知道为什么我不能访问 PLINQ 的扩展方法。
我错过了什么吗?
这是 F# 限制吗?如果是这样,是通过设计吗?如果没有,是否会在未来的版本中解决?
.net-4.0 - 执行和生成子任务时结果不一致
我有一些简单的代码,其中主线程正在创建一个新任务。该任务又会产生多个子任务。主线程对父任务执行“等待”。我观察到在程序的多次运行中我没有得到相同的输出。在下面的代码中,我打印出每个任务中迭代变量的值,但在不同的运行中,只有子集被打印出来。我知道执行没有顺序,但它仍然必须完成,因为我希望打印出 100 个数字(没有特定顺序)。调用 Wait 不会等待所有子任务完成吗?我正在运行 VS2010 Team 系统 Beta1
c# - PLINQ 问题/实现多线程、无锁列表的技术(在 C# 中)
这是有问题的代码:
在运行时,该代码偶尔会在 levelNodes 中留下空引用。我怀疑这是由于线程锁定造成的,因为如果调用普通(非并行)ForEach 代替 ForAll,问题就会消失。
使用 PLINQ 实现,'levelNodes.Add(child);' 有时还会抛出 IndexOutOfRangeException 消息:“源数组不够长。检查 srcIndex 和长度,以及数组的下限。”
有什么建议可以消除这个问题吗?
或者使用无锁列表实现可能会提高性能?(怎么可能呢?)
.net - NUnit 测试 PLINQ 代码后如何防止 AppDomainUnloadedException?
如何诊断和最小化或预防AppDomainUnloadedException
?
NUnit 2.5.2AppDomainUnloadedException
在涉及 PLINQ 的长时间(>10 秒)测试后始终抛出异常。
早在 2008 年 7 月,Stephen Toub 说:
是的,CTP 中的调度程序不能很好地处理线程中止,当正在关闭的域中存在实时调度程序时,这经常会导致进程崩溃(因为 AppDomain 关闭会导致该域中具有堆栈帧的所有线程上的线程中止)。我们正在努力为未来的版本加强这一点。
我尝试了许多解决方法,包括:
- 以单独的方法运行测试以消除杂散引用
- 指定
/domain:None
为 NUUnit 参数 - 从中删除
legacyUnhandledAppDomainPolicy
元素nunit-console.exe.config
我不能降级 NUnit 以降低竞争条件的几率,因为我需要 PLINQ 来使我的参数测试更快。没有问题的 NUnit 版本不支持参数测试。
c# - 多核机器上 .NET 操作的非线性缩放
我在 .NET 应用程序中遇到了一个奇怪的行为,该应用程序对一组内存数据执行一些高度并行处理。
当在多核处理器(IntelCore2 Quad Q6600 2.4GHz)上运行时,它表现出非线性缩放,因为启动了多个线程来处理数据。
当在单核上作为非多线程循环运行时,该进程每秒能够完成大约 240 万次计算。当作为四个线程运行时,您会期望吞吐量是原来的四倍——大约每秒 900 万次计算——但很可惜,没有。在实践中,它每秒只能完成大约 410 万次……与预期的吞吐量相比,还差很多。
此外,无论我使用 PLINQ、线程池还是四个显式创建的线程,都会发生这种行为。很奇怪...
机器上没有使用 CPU 时间运行其他任何东西,计算中也没有任何锁或其他同步对象......它应该只是提前撕开数据。我已经通过在进程运行时查看 perfmon 数据确认了这一点(尽可能)......并且没有报告线程争用或垃圾收集活动。
我目前的理论:
- 所有技术(线程上下文切换等)的开销使计算不堪重负
- 线程没有被分配给四个核心中的每一个,而是花一些时间在同一个处理器核心上等待......不知道如何测试这个理论......
- .NET CLR 线程没有以预期的优先级运行,或者有一些隐藏的内部开销。
以下是应表现出相同行为的代码的代表性摘录:
c# - 在 C# 中反序列化 PLINQO 对象的问题
我尝试了很多方法来反序列化 LINQO 对象,但每种方法都失败了。这是最后一个代码的示例。
但我现在收到以下错误。
“SalesNetData.Country”类型无法序列化为 JSON,因为其 IsReference 设置为“True”。JSON 格式不支持引用,因为没有用于表示引用的标准化格式。要启用序列化,请禁用类型或该类型的适当父类的 IsReference 设置。
请帮忙.....
c# - 究竟什么是 PLINQ?
PLINQ 作为 LINQ 的扩展添加到 .NET 4.0 框架中。
- 它是什么?
- 它解决了哪些问题?
- 什么时候合适,什么时候不合适?