1These are some very basic and unscientific benchmarks of various commands 2provided by `xsv`. Please see below for more information. 3 4These benchmarks were run with 5[worldcitiespop_mil.csv](http://burntsushi.net/stuff/worldcitiespop_mil.csv), 6which is a random 1,000,000 row subset of the world city population dataset 7from the [Data Science Toolkit](https://github.com/petewarden/dstkdata). 8 9These benchmarks were run on an Intel i7-6900K (8 CPUs, 16 threads) with 64GB 10of memory. 11 12``` 13count 0.11 seconds 413.76 MB/sec 14flatten 4.54 seconds 10.02 MB/sec 15flatten_condensed 4.45 seconds 10.22 MB/sec 16frequency 1.82 seconds 25.00 MB/sec 17index 0.12 seconds 379.28 MB/sec 18sample_10 0.18 seconds 252.85 MB/sec 19sample_1000 0.18 seconds 252.85 MB/sec 20sample_100000 0.29 seconds 156.94 MB/sec 21search 0.27 seconds 168.56 MB/sec 22select 0.14 seconds 325.09 MB/sec 23search 0.13 seconds 350.10 MB/sec 24select 0.13 seconds 350.10 MB/sec 25sort 2.18 seconds 20.87 MB/sec 26slice_one_middle 0.08 seconds 568.92 MB/sec 27slice_one_middle_index 0.01 seconds 4551.36 MB/sec 28stats 1.09 seconds 41.75 MB/sec 29stats_index 0.15 seconds 303.42 MB/sec 30stats_everything 1.94 seconds 23.46 MB/sec 31stats_everything_index 0.93 seconds 48.93 MB/sec 32``` 33 34### Details 35 36The purpose of these benchmarks is to provide a rough ballpark estimate of how 37fast each command is. My hope is that they can also catch significant 38performance regressions. 39 40The `count` command can be viewed as a sort of baseline of the fastest possible 41command that parses every record in CSV data. 42 43The benchmarks that end with `_index` are run with indexing enabled. 44