单声道是否实现任务并行库?如果是这样,.NET和mono之间的性能如何比较。任务单声道并行库实现?
回答
这是在单声道版本2.6中实现的。
ParallelFx
本新闻稿包含2008年被2009 &更精确地开发为代码,谷歌夏季的一部分ParallelFx框架的一些组件,它包含了任务并行库和数据协调结构。
使用ParallelFx,您可以轻松开发可自动利用当今多核机器的潜在优势的软件。为此,现在有几种新的构造,如期货,并行循环或并发集合。
要使用此代码,您必须在configure阶段使用--with-profile4 = yes开关手动启用.NET 4配置文件。
在我自己的经验,我已经在C#中的学习和基因序列数据的分类的高度并行的程序,使得任务并行库的功能,如Parallel.ForEach,的Parallel.For,任务非常繁重的使用.Factory.StartNew()以及来自Collections.Concurrent命名空间(Blocking Collections,Concurrent Dictionaries,Concurrent Bags等)的许多结构。简而言之,我的应用程序在使用mono的Linux上的性能要慢很多倍。我仍然试图弄清楚这一点。我可以在具有类似性能的窗口中从单声道控制台运行它。
我已经尝试过使用mono的sgen垃圾回收器无济于事。我的应用程序在运行mono的Linux服务器上的性能仍然明显较慢。
学习8258个序列: 0:17与1:59米:在Linux SS
分类921的序列: 2.29秒与11:05毫米:在Linux
SS请参阅下面的屏幕截图。
杰克,你正在使用什么版本的单声道?你有没有看到这种表现的改善? – Boots 2015-08-26 19:15:55
我正在使用Mono 3.2.3。这个项目我一直无法得到解决,完全放弃了Mono。我构建了一个带有双液冷六角处理器和128GB RAM的Windows机箱。然而,如果我能在Linux上获得这样的表现,我将拥有大量的大学资源。Linux上的Mono版本可能稍微老一点,但它至少必须支持.NET 4.5。否则,我的程序不会执行。 – 2015-08-27 03:02:08
你有没有尝试改变分/ maxthreads?
System.Threading.ThreadPool.SetMaxThreads(mWorker, mWorker);
System.Threading.ThreadPool.SetMinThreads(10, 10);
正在操作方式超越我,但是我发现没有什么都没有完成。所以我把它设置为5 * cpu核心数量,并且立刻从中取出!
- 1. 查询任务并行库实现
- 2. 单声道增强现实
- 3. 任务并行库 - 知道当所有任务完成后
- 4. 在IEnumerable实现中使用任务并行库来实现速度改进
- 5. .NET任务并行库
- 6. Quartz.net +任务并行库
- 7. 并行任务库WaitAny Design
- 8. 是否有在单声道下运行的Fix实现?
- 9. 任务并行库和多个并行任务
- 10. 如何使用C#任务并行库和IProducerConsumerCollection实现通用回调?
- 11. 如何实现定期查询数据库并定期删除行的任务?
- 12. 在任务并行库:如何推迟Task.TaskFactory.FromAsync任务执行?
- 13. 如何用Ruby的Fibers实现并行任务?
- 14. 实体框架并行任务vs WCF
- 15. ThreadLocal的聚合和任务并行库
- 16. 任务并行库使用帮助
- 17. BackgroundWorker的任务并行库替换?
- 18. 在任务并行库中保留OperationContext
- 19. 任务并行库 - 阻止操作?
- 20. 任务并行库和异常
- 21. 微软的CCR vs任务并行库
- 22. 任务/并行化库的API设计
- 23. 如何使用任务并行库
- 24. 不同的使用任务并行库
- 25. C#任务并行库和NHibernate/Spring.NET
- 26. .net 4.0任务并行库与MPI.NET
- 27. MSBuild任务无声执行
- 28. 任务并行库。嵌套任务无法启动
- 29. 任务并行库中的任务如何影响ActivityID?
- 30. 如何使用任务并行库管理任务列表
部分回答:是的单声道确实执行任务并行库:http://www.mono-project.com/Release_Notes_Mono_2.6#ParallelFx – 2011-03-02 17:07:53