First thing is to determine what you want to measure. Picking a benchmark program because it's easy to run is not a way to get useful information. So, what aspect of computer performance is important to you?
Then figure out if any of the readily available benchmarks measure that aspect. More properly, how close they come to measuring the performance characteristics of interest to you. If none come close enough, you may have to write your own benchmark (that's always the best way to make comparisons, but it's also the most effort). Note that it's not always obvious exactly what a given benchmark is measuring. I've seen programs intended to measure floating point performance that spent more time in string formatting to present their output.
Once you have settled on your benchmark suite, you will want to run it in repeatable conditions, but ones as close to how you'll actually be using the machine as possible. If cache has a major effect on your benchmark, you'll either want to discard the first run after a reboot or use only the first run after a reboot (whichever is closer to the way you actually will be using the computer).