The Benchmark library provides tools to answer two questions that arise when optimising code:
Is techinque A faster than technique B? For example, is it faster to use the built-in "map" or to write a loop by hand?
Is the current implementation faster than the previous one?
Answering the first question is intended for verifying assumptions you make when optimising your code. Generally this code is quite short, so you can keep around both versions. You can ask this sort of question using the check-faster? check.
Answering the second question is intended for ensuring that your code is actually getting faster. It is assumed you can’t keep around both versions of the code, so the runtime of previous versions must be stored on disk. You can ask this sort of question by writing a benchmark-case, the benchmarked form of a test-case.