Yeah, that's right, memo, not memor. I asked my self this when I first saw it. Simply put, memoization can be described as the caching of the results of a sub-step within an algorithm.
That makes it perfect for recursive functions, as they waste plenty of time recomputing everything, so that's what I tried it on, a recursive function.
And what recursive function is better known than a function to calculate the Fibonacci sequence?
After learning about memoization and how to do it, I spent hours perfecting a memoization wrapper which I then used on a JavaScript bigInt Fibonacci function.
I then laughed at the speed differences.
I calculated 1000 iterations of the Fibonacci sequence in 1 second. Without it, it took forever. You can try any number less than 200,000 without choosing to loop, and you'll receive an answer within 10 seconds, guaranteed or I'll refund you.
Complaint: I requested the 69420th number of fibonacci yet here i am precicely 531 seconds later still waiting for my answer. i would like a full refund.
Using Memoization to Speed Up Code
What is memoization?
Yeah, that's right, memo, not memor. I asked my self this when I first saw it. Simply put, memoization can be described as the caching of the results of a sub-step within an algorithm.
That makes it perfect for recursive functions, as they waste plenty of time recomputing everything, so that's what I tried it on, a recursive function.
And what recursive function is better known than a function to calculate the Fibonacci sequence?
After learning about memoization and how to do it, I spent hours perfecting a memoization wrapper which I then used on a JavaScript bigInt Fibonacci function.
I then laughed at the speed differences.
I calculated 1000 iterations of the Fibonacci sequence in 1 second. Without it, it took forever. You can try any number less than 200,000 without choosing to loop, and you'll receive an answer within 10 seconds, guaranteed or I'll refund you.
Try it out yourself!
https://MemoizedFibonacci.studentfires.repl.run
Some links I looked at:
https://www.freecodecamp.org/news/understanding-memoize-in-javascript-51d07d19430e
https://dictionary.babylon-software.com/dynamic%20optimization
Complaint: I requested the 69420th number of fibonacci yet here i am precicely 531 seconds later still waiting for my answer. i would like a full refund.
@SpaceFire Unfortunately, StudentFires © isn't in a good position financially, due to a certain virus. Also:
You must choose the memoized option. Also, the memoized option was made into a module too!
@StudentFires
Your words not mine.
@SpaceFire It's expected that you had used the memoizer, not the normal function.
Okay okay, retest the normal version, it's non-exponentially growing now.