Btw, if anyone is wondering why the workers run so slow when in a background tab, it is because most browsers throttle setTimeout's to run max once a second when the browser window looses focus. (web workers does not have this problem but for the demo i figured it would be fun to watch the workers do their thing)