6 ms·
Show HN: Wsq – WebSocket task queues
- k__ 11y agoDo I understand this correctly. This is some "on the fly" computation? Like, people could add computing power to a process just by surfing to a webpage?
- rwinn 11y agoNot exactly, it is a task queue that allows workers to be run in the browser. If you could break your problem up in to lots of small isolated tasks it could be used like that
- stygiansonic 11y agoBased on a quick inspection (WS opened, binary frames going over it, and CPU utilization), this appears to be the case. A very interesting way to do distributed computing!
- forgotmypassw 11y agoThe animation makes the browser tab so jaggy I can barely scroll down to read more.
- rwinn 11y agoFound the problem and pushed a fix, should me much smoother now. It was Firefox's SVGPathElement::getPointAtLength implementation that was slow, working around it by caching all the calls to it.
- rwinn 11y agoThat sucks. I'm using d3.js to animate svg elements, runs smoothly on my machine, what browser/os are you on?
- forgotmypassw 11y agoFF Nightly on Windows, I also checked on my laptop running Linux and the same thing happens so I guess it's related to the browser specifically.
- rwinn 11y agoYep, I can reproduce it on OS X with FF 42.0 as well. Going to see if i can find what's causing the low framerate.
- fulafel 11y agoOn Ubuntu it's fast in Chrome and slow in Firefox.
- rwinn 11y agoBtw, 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)
- poseid 11y agois this something like dnode? I used dnode for RPC style programming between an Arduino and web server: https://github.com/embeddednodejs/ch_8_entering_the_cloud/blob/master/pubsub/pub_server.js https://github.com/embeddednodejs/ch_8_entering_the_cloud/bl... possibly your lib could make the setup nicer.
- poseid 11y agoalso, how would you add custom events to the tasks, e.g. process data from a "button", "slider", ...
- thesorrow 11y agoAre you using libchan js implementation jschan to multiplex streams ?
- rwinn 11y agoNo I'm using https://github.com/maxogden/multiplex https://github.com/maxogden/multiplex Didn't know about jschan, would be interesting to see a performance comparison between the two.