Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function concurrentBackups(threads, documents, elapsedTime = 0) {
- if (documents.length === 0) return elapsedTime;
- let documentsSorted = documents.sort((a, b) => b - a),
- queue = documentsSorted.slice(0, threads),
- finishedQueue = nextQueue = null;
- elapsedTime += queue[queue.length - 1];
- finishedQueue = queue.map((item, i, arr) => item - arr[arr.length - 1]);
- finishedQueue = finishedQueue.filter(item => item > 0);
- nextQueue = new Array().concat(documents.slice(threads), finishedQueue);
- return concurrentBackups(threads, nextQueue, elapsedTime);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement