This example uses a Worker thread to perform the calculations. Although the browser does not seem more responsive (see next test), there does appear to be a slight increase in performance. The js code is now broken into 2 files, for the page and for the worker. The bulk of the matrix calculations are in the worker code. The data is passed between page and worker using the Float64Array binary type, but is still copied. The page code has the stub of a matrix type that can be created from binary data. You can show the js console to see the worker messages arrive.