Sometimes we use tools to make things without thinking about how the tools themselves are made. In the world of software, sometimes how things are done (the implementation) can have a huge impact on performance. It turns out that sometimes we can trade performance in one area for another. For example, a certain technique might be very memory efficient but rather slow to execute, or vice versa. We’re going to take a look at a common programming technique that is very fast (i.e., it's “computationally efficient”). Sometimes it can require a lot of memory, sometimes not. It’s called a look-up table.