單聲道是否實現任務並行庫?如果是這樣,.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