Standard-JavaScript ist unithreading: Es kann nur ein Programm auf einer CPU (Core) ausgeführt werden.
Für das, was Sie beschreiben, müssten Sie Ihr Dataset wahrscheinlich in Blöcke aufteilen und einen separaten JavaScript-Web Worker erstellen, der Ihren Algorithmus ausführt, um jeden Block zu verarbeiten. Dies setzt voraus, dass Sie über ein strukturell einheitliches Dataset verfügen. (Achten Sie auf die Randbedingungen.)
Um Web Workers effektiv einsetzen zu können, müssen Sie wissen, wie Sie serielle Algorithmen als parallele und andere Aspekte der Multithread-Programmierung umschreiben. All dies erfordert fortgeschrittene Programmierkenntnisse.
JavaScript-Web-Worker sind unabhängige, unabhängige Ausführungseinheiten (Threads), die vom Hauptprogramm und voneinander getrennt und isoliert sind. Die Kommunikation zwischen dem Hauptprogramm und den Web Workern sowie zwischen den Web Workern selbst erfolgt über ereignisgesteuerte Datennachrichten.
Das Host-Betriebssystem kann einzelne Web Worker-Threads auf separaten Kernen ausführen, wodurch die CPU-Kapazität zu 100% genutzt werden kann.
Web Worker sind nur als Recheneinheiten gedacht. Sie haben keinen Zugriff auf das DOM oder auf DOM-bezogene Browserkomponenten, z. B. Fenster . (Dies vermeidet alle möglichen Probleme mit dem serialisierten Zugriff auf sie.) Daher muss die anzuzeigende Ausgabe von einem Worker an den Haupt-Thread zurückgegeben werden.
Alle aktuellen Browser bieten eine gewisse Unterstützung für Web Worker. Die Tabelle am Ende der Mozilla Web Worker API-Seite, https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API, zeigt die Unterstützung einzelner Browser und Versionen für die verschiedenen Web Worker-Funktionen.
Eine gute Einführung in Web Workers: