Hamsters.js Versions Save

100% Vanilla Javascript Multithreading & Parallel Execution Library

v5.4.4

6 months ago

This release resolves a few issues that will increase overall performance however it comes at a cost of higher memory usage

Resolved index calculation to support odd numbers of threads such as triple core processors Added more unit tests Resolved some unit tests not working in Firefox browser Added task.output for output data, previously the library was modifying the input array as the output, this was great from a memory usage standpoint however its bad practice to modify inputs so that's no longer happening. Cleaned up code some

Enjoy!

v5.4.3

7 months ago

This release was primarily targeted around more unit testing and fixing the debugging metrics, additionally there is a slight performance increase and resolves a memory leak.

  • Resolved memory leak of pool.tasks array overflowing with random data
  • Resolved issues with debugging mode not returning accurate thread start and completion times
  • Modified indexes calculation to be 100% accurate with new unit tests
  • Removed pool.tasks array and function calls, slight performance increase.
  • When using debugging mode you can now see individual performance for each thread as well as performance of each task, start and end * times as well as enqueued and dequeued times if a task gets queued waiting for a thread.

This release also drops support for Internet Explorer 9, support for Internet Explorer 10 is no longer guaranteed to work and has not been tested.

Enjoy!

v5.4.1

2 years ago

This release is mainly a bug fix release and does not include any optimizations or other changes beyond fixing the below issues.

  • Resolved issues running with reactNative
  • Resolved issues with overriding maxThreads not working on startup
  • Removed additional splice data aggregation method not supported by reactNative

Enjoy!

v5.4.0

2 years ago

I'm happy to announce the release of Hamsters.js v5.4.0, this version is a major overhaul and completes the implementation of the JIT data management system. This is truly a game changing release as it dramatically reduces memory usage while also increasing per thread scaling and reducing library overhead and total package size.

This release also comes with a few notable changes

  • Memoization support has been temporarily removed

  • JIT data management is now fully implemented, reducing memory allocation to at most 1 copy of the original input data

  • Removed old unused logic to reduce code package size

  • You can now control which threads operate on which pieces of your input data by passing a new optional indexes argument

    const params = {
      array: [1,2,3,4],
      threads: 2,
      indexes: [
        {start: 0, end: 0}, //Thread one will operate on only the first element
        {start: 1, end: 3} //Thread two will operate on the remaining elements
     ]    
    };
    

v5.3.9

2 years ago

Hamsters.js v5.3.9 is officially live!

Latest Updates

  • Fixed problems running on Internet Explorer
  • Internet Explorer support now moved to legacy only mode
  • Added Just In Time data management to improve scaling
  • Dramatically reduced runtime complexity
  • Added support for indexes for use with JIT data management, major performance increase. Future versions of Hamsters.js will expand on this functionality for more fine tuned management of which threads operate on which pieces of data.

Enjoy!

v5.3.7

2 years ago

Hamsters.js v5.3.7 is officially live!

Latest Updates

  • Fixed problems with data aggregation when using multiple threads on React Native

Enjoy!

v5.3.6

2 years ago

Hamsters.js v5.3.6 is officially live!

Latest Updates

  • Fixed problems with React Native 0.62 and non legacy mode using react-native-hamsters

  • Simplified react native thread logic

Enjoy!

v5.3.5

2 years ago

Hamsters.js v5.3.5 is officially live!

Latest Updates

  • Fixed bug with detection of startOptions and legacy argument when initializing library
  • Fixed react-native-hamsters package name for use with react-native-hamsters

Enjoy!

v5.3.3

2 years ago

Hamsters.js v5.3.3 is officially live!

Latest Updates

  • Fixed all outstanding react native bugs
  • Fixed broken legacy mode in Node.js and ReactNative
  • Added official support for react-native-hamsters
  • Fixed start options legacy mode not being respected
  • Cleaned up logic

Enjoy!

Hamsters.js v5.3.3 is officially live

v5.3.2

2 years ago

Hamsters.js v5.3.2 is officially live! - THIS IS A HOTFIX PATCH RELEASE FOR V5.3.1

V5.3.2 Hot Fix Patch Updates

  • Restores Internet Explorer 10 Support
  • Fixes incorrect detection of available threads

V5.3.1 Updates

  • Fixed all outstanding Node.js bugs including legacy fallback mode and Node.js native worker implementation support
  • Simplified initializing library logic to reduce startup time and memory allocation
  • Simplified main library logic to improve performance while library is running and reduce memory allocation
  • Refactored old logic to be cleaner
  • Removed explicit fallback support for Kindle3 Devices and Internet Explorer 10 Mobile Devices
  • Fixed bug reducing performance of transferable objects, massive performance gains observed
  • Reorganized library structure to improve maintainability
  • Initialization method no longer removed from library at startup
  • Now exposing internal habitat keys variable
  • Moved common folder outside core folder
  • Renamed common/rnHamsterWheel.js to common/reactNative.js
  • Created common/node.js file
  • Renamed /common/hamstersWheel.js to /common/internetExplorer.js

Enjoy!

Hamsters.js v5.3.2 is officially live