Racket 9.0 erlaubt parallele Threads

Racket 9.0 erlaubt parallele Threads

Racket-Logo

Racket-Logo

Racket 9.0

Die Version 9.0 der Programmiersprache Racket kann erstmals parallele Threads zünden, die tatsächlich getrennt auf einzelnen Prozessorkernen laufen. Ebenfalls neu sind die Sprach-Features „black-box“ und „decompile-linklet“.

Hatte man bislang mehrere Threads in Racket angeworfen, liefen diese nur innerhalb eines Betriebssystem-Threads parallel („concurrent“). Damit lasteten ihre Berechnungen nur einen einzigen Prozessorkern aus. Erweitert man in Racket 9.0 den zugehörigen „thread“-Aufruf um das Argument „#:pool“

...
(thread
#:pool 'own ;
...

erzeugt das Programm mehrere echte parallel laufende Threads, was gleichzeitig die Verarbeitungsgeschwindigkeit drastisch erhöht. Mit diesen neuen parallelen Threads kommt die komplette Thread-API zurecht.

Eine weitere Neuerung in Racket 9.0 zielt auf einen zu eifrigen Compiler: Wenn dieser den Code optimiert, können einige Berechnungen komplett wegfallen. Genau dies verhindert der Wrapper „black-box“. Mit seiner Hilfe kann man etwa sicherstellen, dass Benchmarks korrekte Ergebnisse liefern.

„decompile-linklet“ wiederum macht ihrem Namen alle Ehre: Die Funktion versucht ein Linklet zurück in eine S-expression zu dekompilieren. Abschließend findet sich in der „math“-Bibliothek jetzt auch eine Funktion zur Berechnung der Weibull-Verteilung.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben