# Benchmarking to measure performance To compare the performance of the `uutils` version of `head` with the GNU version of `head`, you can use a benchmarking tool like [hyperfine][0]. On Ubuntu 18.04 or later, you can install `hyperfine` by running ```shell sudo apt-get install hyperfine ``` Next, build the `head` binary under the release profile: ```shell cargo build --release -p uu_head ``` Now, get a text file to test `head` on. I used the *Complete Works of William Shakespeare*, which is in the public domain in the United States and most other parts of the world. ```shell wget -O shakespeare.txt https://www.gutenberg.org/files/100/100-0.txt ``` This particular file has about 170,000 lines, each of which is no longer than 96 characters: ```shell $ wc -lL shakespeare.txt 170592 96 shakespeare.txt ``` You could use files of different shapes and sizes to test the performance of `head` in different situations. For a larger file, you could download a [database dump of Wikidata][1] or some related files that the Wikimedia project provides. For example, [this file][2] contains about 130 million lines. Finally, you can compare the performance of the two versions of `head` by running, for example, ```shell hyperfine \ "head -n 100000 shakespeare.txt" \ "target/release/head -n 100000 shakespeare.txt" ``` [0]: https://github.com/sharkdp/hyperfine [1]: https://www.wikidata.org/wiki/Wikidata:Database_download [2]: https://dumps.wikimedia.org/wikidatawiki/20211001/wikidatawiki-20211001-pages-logging.xml.gz