Memoization - caso simple

Benchmark created by Matias on


Description

Este pretende ser un caso básico para introducir el concepto de memoization.

Setup

function factorial(num) {
      if (num === 0) {
        return 1;
      } else {
        return num * factorial(num - 1);
      }
    
    }
    
    function mejor_factorial(num) {
      if (!mejor_factorial.cache) {
        mejor_factorial.cache = {};
      }
      if (num === 0) {
        return 1;
      } else if (num in mejor_factorial.cache) {
        return mejor_factorial.cache[num];
      } else {
        mejor_factorial.cache[num] = num * mejor_factorial(num - 1);
        return mejor_factorial.cache[num];
      }
    
    }

Test runner

Ready to run.

Testing in
TestOps/sec
Factorial (sin memoization)
factorial(30);
ready
Factorial (con memoization)
mejor_factorial(30);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.