单声道上的任务并行库实现?

Kum*_*mar 8 c# mono task-parallel-library

Mono是否实现了Task Parallel库?如果是这样,.NET和mono之间的性能如何比较.

Orb*_*bit 9

这是在Mono 2.6版中实现的.

从发行说明:

ParallelFx

此版本包括ParallelFx框架的一些组件,这些组件是作为Google Summer Of Code 2008和2009的一部分开发的.更准确地说,它包含任务并行库和数据结构协调.

使用ParallelFx,您可以轻松开发能够自动利用当今多核机器并行潜力的软件.为此,现在可以使用一些新的构造,如期货,并行循环或并发集合.

要使用此代码,您必须在配置阶段使用--with-profile4 = yes开关手动启用.NET 4配置文件.


Jak*_*rew 5

根据我自己的经验,我在C#中有一个高度并行的程序用于基因序列数据的学习和分类,这使得任务并行库功能的大量使用,例如Parallel.ForEach,Parallel.For,Task.Factory.StartNew()来自Collections.Concurrent命名空间的许多结构(阻塞集合,并发字典,并发包等).简而言之,我的应用程序在使用mono的Linux上的性能要慢很多倍.我仍然想弄明白这一点.我可以在具有类似性能的Windows中从单声道控制台运行它.

我已经尝试使用mono的sgen垃圾收集器无济于事.我的应用程序在运行单声道的Linux服务器上的性能仍然显着降低.

学习8,258个序列: 0 :17 vs. 1:59 m:Linux上的ss

对921序列进行分类: 2.29秒vs. 11:05 mm:Linux上的ss

请参阅下面的屏幕截图

在此输入图像描述
在此输入图像描述