Skip to content

multithreaded utility functions for node using worker threads

License

Notifications You must be signed in to change notification settings

clayrisser/fastdash

Repository files navigation

fastdash

GitHub stars

multithreaded utility functions for node using worker threads

Please ★ this repo if you found it useful ★ ★ ★

Features

  • supports typescript
  • customize max threads

Benchmarks

map benchmarks

These benchmarks were performed on a server with 8 cores to show the contrast between multithreaded and single threaded node processing.

A function calculates prime numbers to simulate a workload.

map() CPU Intensive CPU Nonintensive
fastdash 2741.328177 ms 322.372878 ms
lodash 10367.716365 ms 0.271168 ms

fastdash is multithreaded and is faster than lodash for CPU intensive tasks.

Screenshot from 2019-03-26 03-26-49

lodash is single threaded and is slower than fastdash for CPU intensive tasks.

Screenshot from 2019-03-26 03-28-00

lodash is faster than fastdash for tasks that are not CPU intensive.

Installation

npm install --save fastdash

Dependencies

Usage

Iteratee callback functions must be pure functions

map

import fast from 'fastdash';

async main() {
  const result = await fast.map([1, 2, 3], item => {
    return item + 1;
  });
  console.log(result); // [2, 3, 4]
}

main();

Support

Submit an issue

Screenshots

Contribute a screenshot

Contributing

Review the guidelines for contributing

License

MIT License

Jam Risser © 2019

Changelog

Review the changelog

Credits

Support on Liberapay

A ridiculous amount of coffee ☕ ☕ ☕ was consumed in the process of building this project.

Add some fuel if you'd like to keep me going!

Liberapay receiving Liberapay patrons

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •