Why should I use Hamsters.js?

As we approach the end of Moores Law and single threaded performance gains in new hardware continue to show diminishing returns, multi-threaded data processing will become more and more important. Hamsters.js provides a thread safe message passing interface simplifying the complexity of parallel processing to bring modern applications up to speed with newer hardware and make them future proof for many years to come.

What is Hamsters.js?

Hamsters.js is a JavaScript multi-threading and parallel processing library optimized around the concept of parallelism. Giving modern applications an extreme boost in performance while massively increasing horizontal scaling & hardware utilization at the same time.


How did Hamsters.js start?

Throughout my full stack software development career I've often come across situations where front end performance was too limited to fully achieve a consistent experience for all users. Browser lockups, crashes, out of memory errors, and general sluggishness are all things that hurt the user experience and reflect badly on the application and ultimately the company behind the application.

This frustration lead to an interest in high performance computing, big data, and parallel data processing, this research combined with taking inspiration from real world problems I came across during development of large scale data heavy web applications lead to the creation of Hamsters.js.

Hamsters.js runs anywhere JavaScript does (ECMA-262 6th Edition or newer). Supporting all major web browsers, Node.js, and even ReactNative on mobile so integrating multi threading into your applications has never been easier.

What makes Hamsters.js unique?

Hamsters.js is not like other JavaScript multi-threading libraries on the market, while other libraries were developed around the concept of concurrency Hamsters.js was developed around the concept of parallelism. Hamsters.js features a fully functional thread pool system and intelligent task processing system, allowing an application to offload any individual function onto its own thread for processing. While at the same time processing other tasks, with each task making use of a unique number of threads, all at the same time, making Hamsters.js truly "Concurrently Parallel".

Your support is needed.

Stay tuned! There are many new features already in the works and hopefully with continued support from the community, as technology continues to advance so will Hamsters.js, please donate thank you.