`Memoizing' a function makes it faster by trading space for time. It does this by caching the return values of the function in a table. If you call the function again with the same arguments, C jmups in and gives you the value out of the table, instead of letting the function compute the value all over again.