সংখ্যার একটি বিশাল অ্যারে যোগ করার জন্য প্রতিটি() এবং হ্রাস() এর জন্য ES6 ফাংশন দ্বারা যথাক্রমে নেওয়া সময়ের তুলনা করতে হবে৷
যেহেতু আমাদের এখানে সংখ্যার একটি বিশাল অ্যারে থাকতে পারে না, তাই আমরা প্রচুর সংখ্যক বার (পুনরাবৃত্তি) এর জন্য সমীকরণ অপারেশন সম্পাদন করে অ্যারের মাত্রা অনুকরণ করব
উদাহরণ
এর জন্য কোড লিখি -
const arr = [1, 4, 4, 54, 56, 54, 2, 23, 6, 54, 65, 65]; const reduceSum = arr => arr.reduce((acc, val) => acc + val); const forEachSum = arr => { let sum = 0; arr.forEach(el => sum += el); return sum; }; const iterations = 1000000000; console.time('reduce'); for(let i = 0; i < iterations; i++){ let sumReduce = reduceSum(arr); }; console.timeEnd('reduce'); console.time('forEach'); for(let j = 0; j < iterations; j++){ let sumForEach = forEachSum(arr); }; console.timeEnd('forEach');
আউটপুট
নিম্নোক্ত কনসোলে আউটপুট −
reduce: 19.058s forEach: 45.204s
সুতরাং মোটামুটিভাবে, Array.prototype.reduce() দ্বারা Array.prototype.forEach দ্বারা নেওয়া সময়ের অনুপাত হল 1 :1.4