Thread Perl 6 und Nebenläufigkeit
(10 answers)
Opened by leo11 at 2009-01-02 18:35 2010-01-02T17:35:37 leo11 Das geht nur so weit gut, wie die statische Analyse des Compilers Abhängigkeiten erkennen kann. Und es ist auch eine Frage des Algorithmus - einige lassen sich sehr leicht parallelisieren, andere fast gar nicht. Vollständig automatisch wird das wohl immer ein Traum bleiben. Quote Darauf gibt es mehrere mögliche Antworten: 1) Larry will ein concurrency-Modell, dass Threads und Events vereint, inspiriert von diesem Paper. 2) Einige Sprachfeatures parallelisieren automatisch. Wer implizite Abhängigkeiten zwischen den parallelen Aufrufen einbaut oder sich auf die Ausführungsreihenfolge verlässt, ist selbst Schuld. Dazu gehören die "hyper"-Operator und feeds: Code: (dl
)
1 @result = @array».method(); 3) Unabhängig vom genauen Nebenläufigkeitsmodell ist Perl 6 so designed, dass möglichst viel Information lexikalisch gehalten wird, was micro-threading deutlich vereinfacht. Es gibt auch kaum wirklich globale Variablen in einem Perl 6-Programm. Dass Larry sich vor concurrency drücken mag, wie lichtkind angedeutet hat, geht am Kern des Problems vorbei: Alle Teile der Spezifikation, die noch von niemandem implementiert wurden, sind mit Vorsicht zu genießen, und es lohnt sich nicht, viel Arbeit reinzustecken, solange es niemand implementiert. Erst bei der Implementierung merkt man, wo die Probleme liegen, und wo Potential für Erweiterungen liegen. |