1UnitedPower: Multithreading in JavaScript

Beitrag lesen

Meine Herren!

  1. ist einfach parallelisierbar, wenn kleine Häppchen rein funktional berechnet werden können.

Web Worker bieten nur für 3. einen Vorteil, und auch nur bei clientseitigem JavaScript.

Und auch nicht in allen Fällen. Wegen der hohen Initialisierungskosten für Worker sind zum Beispiel ungeeignet, um einen MergeSort zu parallelisieren oder Per-Pixel-Kalkulationen vorzunehmen. Und das ist auch nicht die Aufgabe, die sie bewältigen sollen, das bringt die Spezifikation ganz zu Anfang zum Ausdruck:

This specification defines an API for running scripts in the background independently of any user interface scripts. [...] Workers [...] are relatively heavy-weight, and are not intended to be used in large numbers. For example, it would be inappropriate to launch one worker for each pixel of a four megapixel image.

--
“All right, then, I'll go to hell.” – Huck Finn