This adds two new commands to wrench: perf - This runs all the benchmarks in the benchmarks manifest, and records the timing of various profile counters into a JSON file. This is very similar to how the reftest code works. compare_perf - This allows comparing two files output from the perf command above. There are two new workflows enabled by this change: (1) Working locally: - Run `perf` to get a baseline benchmark. - Develop new feature or optimization. - Run `perf` to get new results, and use `compare_perf` to compare to baseline. (2) Automated performance measurement: - This is not available yet, but the idea is to upload the results of the perf command to a web server, which graphs the results over time. New benchmarks can be added to the benchmarks/ directory, in a similar way to adding reftests.