Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A javascript work parallelizer/distributor library for both HTML5 web workers and server-side nodejs
JavaScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
README.md
block_filler_example.html
dft_example.html
fractal_example.html
index.html
metaworker.js
metaworker_example.html
metaworker_lib.js
metaworker_server.js

README.md

mandelbrot

metaworker

metaworker is a simple library which helps in distributing computation work. It provides work distribution via HTML5 web workers and via server-side workers powered by nodejs. It allows you to use worker threads without worrying too much about the details of the worker spec. Some other convenience functions are provided.

Implementation Notes

  • metaworker is mostly experimental code that I am using to toy with web workers, nodejs, and distributed computing algorithms. The goal is to gradually evolve metaworker to support some of the same features and use cases as seen in MapReduce, however it does not distribute work in a compatible way.
  • Firefox's browser-side worker threads don't yet seem stable. metaworker has the capacity to crash Firefox fairly hard when using metaworker in browser-side worker mode. YMMV!

Included Files:

  • metaworker_example.html - This is a basic example showing the summation of an array of numbers shared amongst multiple workers.
  • fractal_example.html - An example that uses metaworker to render a mandelbrot fractal. Note: This example can be run in two ways, either with AJAX (server-side) workers or with browser (HTML5) workers.
  • dft_example.html - An example demonstrating metaworker being used to calculate a discrete Fourier transform (DFT).
  • metaworker_lib.js - The actual metaworker library.
  • metaworker.js - A worker bootstrap file used by metaworker_lib.js.
  • metaworker_server.js - A lightweight server-side worker intended for use with node.js .
Something went wrong with that request. Please try again.