Recursive Fibonacci & Java:
বেসিক ফর্মুলা এটা
int fib(int num){
if num < 2 => return num
return fib(num-2)+fib(num-1)
}
Recursively একই Function call করে বলে এটা দিয়ে function call speed সুন্দর ভাবে মাপা যায়। সংখ্যা এক এক করে বাড়াতে থাকলে সময় exponentially বাড়ে।
কিন্তু Java র ক্ষেত্রে এটা হয় না। যে সংখ্যাই দেয়া হয় ধুম করে চলে আসে।
কারন কি?
কারন Java, Re-entrant function এর ক্ষেত্রে সময় যদি বেশি লাগে তবে এর রেজাল্টটা cache করে রাখে এবং পরবর্তি call এ যদি একই argument দিয়ে call করা হয়, তখন cache value ব্যবহার করে।