আমরা দুটি জাভাস্ক্রিপ্ট ফাংশন লিখব, যাদের কাজ হবে একটি সংখ্যা গ্রহণ করে তার ফ্যাক্টোরিয়াল রিটার্ন করা।
প্রথম ফাংশনটি ফর লুপ বা হweile লুপ ব্যবহার করে ফ্যাক্টোরিয়াল হিসাব করবে। দ্বিতীয় ফাংশনটি রিকার্সিভ পদ্ধতিতে ফ্যাক্টোরিয়াল হিসাব করবে।
শেষে, আমরা বহু সংখ্যক ইটারেশনে এই দুটি ফাংশন দ্বারা নেওয়া সময় তুলনা করব।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const factorial = (num = 1) => { let result = 1; for (let i = 2; i <= num; i += 1) { result *= i; } return result; } const factorialRecursive = (num = 1) => { if(num > 1){ return num * factorialRecursive(num - 1); }else{ return 1; } }; const ITERATIONS = 100000000; const num = 12; console.time('Looping Approach'); for(let i = 0; i < ITERATIONS; i++){ factorial(num); }; console.timeEnd('Looping Approach'); console.time('Recursive Approach'); for(let j = 0; j < ITERATIONS; j++){ factorialRecursive(num); }; console.timeEnd('Recursive Approach');আউটপুট
কনসোলে নিচের আউটপুট পাওয়া যাবে:
Looping Approach: 886.720ms Recursive Approach: 6526.203ms
এই সময় মেশিনের ভিত্তিতে ভিন্ন হতে পারে, তবে অনুপাত প্রায় একই থাকবে।