Racket 9.0 erlaubt parallele Threads

Logo Racket

Logo Racket

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
Nach oben