Task Parallele Bibliotheksimplementierung auf Mono?

8

Implementiert Mono die Task Parallel Library? Wenn ja, wie vergleicht die Leistung zwischen .NET und Mono?

    
Kumar 02.03.2011, 17:04
quelle

3 Antworten

9

Dies wurde in Mono Version 2.6 implementiert.

Aus den Versionshinweisen:

  

ParallelFx

     

Diese Version enthält einige Komponenten des ParallelFx-Frameworks, die im Rahmen von Google Summer Of Code 2008 & amp; 2009. Genauer gesagt enthält es die Task Parallel Library und Datenstrukturen für die Koordination.

     

Mit ParallelFx können Sie ganz einfach Software entwickeln, die automatisch das parallele Potenzial heutiger Multicore-Maschinen ausnutzt. Zu diesem Zweck stehen nun verschiedene neue Konstrukte wie Futures, Parallel Loops oder Concurrent Collections zur Verfügung.

     

Um diesen Code zu verwenden, müssen Sie das .NET 4-Profil mit dem Schalter --with-profile4 = yes bei der Konfiguration manuell aktivieren.

    
Orbit 02.03.2011, 17:09
quelle
5

Nach meiner eigenen Erfahrung habe ich ein sehr paralleles Programm in C # zum Lernen und Klassifizieren von Gensequenzdaten, das die Funktionen der Task Parallel Library sehr stark ausnutzt, wie Parallel.ForEach, Parallel.For, Task.Factory. StartNew () und viele Strukturen aus dem Namespace Collections.Concurrent (Blocking Collections, Concurrent Dictionaries, Concurrent Bags usw.). Kurz gesagt, die Leistung meiner Anwendung unter Linux mit mono ist um ein Vielfaches langsamer. Ich versuche das immer noch herauszufinden. Ich kann es von der Monokonsole in Fenstern mit ähnlicher Leistung ausführen.

Ich habe experimentiert, mono sgen garbage collector ohne Erfolg zu verwenden. Die Leistung meiner Anwendung auf einem Linux-Server, der mit Mono läuft, ist immer noch deutlich langsamer.

8.252 Sequenzen lernen: 0:17 vs 1:59 m: ss auf Linux

921 Sequenzen klassifizieren: 2,29 Sekunden vs 11:05 mm: ss unter Linux

Siehe Screenshots unten.



    
Jake Drew 22.11.2014 18:24
quelle
0

Haben Sie versucht, die Min / Max-Threads zu ändern?

%Vor% Du bist weit über mir hinaus, aber ich habe festgestellt, dass nichts getan wurde. Also habe ich es auf 5 * Anzahl von CPU-Kernen eingestellt und es hat direkt aus ihm herausgeschnappt!

    
zDougie 01.12.2015 04:48
quelle

Tags und Links