concurrent_promise

Parallel processing module for JavaScript that can specify the number of concurrent executions.

As of 26.03.2020. See the latest version.

This script should not be not be installed directly. It is a library for other scripts to include with the meta directive // @require https://update.greatest.deepsurf.us/scripts/398566/784632/concurrent_promise.js

Аўтар
風柳@furyutei
Версія
0.0.1.20200324031101
Створаны
24.03.2020
Абноўлены
26.03.2020
Памер
4.2 КБ
Ліцэнзія
Н/Д

js-concurrent_promise

  • License: The MIT license
  • Copyright (c) 2020 furyu @furyutei
  • Target: Browser(Google Chrome, Firefox), Node.js

Parallel processing module for JavaScript that can specify the number of concurrent executions.

Module

Usage

let result_info = await concurrent_promise.execute(
        promise_function_array, // Array of functions that return Promise (Note: it's not Promise itself)
        max_concurrent_worker // Max concurrent Promise number (default: 10)
    );
//  result_info = {
//      promise_results : <Array of results for each Promise>,
//      success_list : <Array of successful Promise results>,
//      failure_list : <Array of failed Promise results>,
//  }

Trial

Browser

Open the test page in your browser and follow the instructions to run it.

Node.js

Install

$ cd js-concurrent_promise
$ yarn install

Examples

$ node -i
// [load modules]
const { concurrentPromise, concurrent_promise, test } = require( './test/node_test.js' );

// [run]
//   test.run( target_module, promise_number, max_concurrent_worker );

// target_module = concurrentPromise: simple version (run Promise.all with each max_concurrent_worker)
test.run( concurrentPromise, 100, 10 );

// target_module = concurrent_promise: efficiency improvement version
test.run( concurrent_promise, 100, 10 );

// [cancel]
test.cancel();

Performance Comparison of Parallel Processing

Performance Comparison of Parallel Processing in JavaScript