 
       mix bench.cmp [options] <snapshot>...
 
-  A snapshot is the output of a single run of `mix bench` without the
-  `--pretty` flag.
+  A snapshot is the output of a single run of `mix bench`.
+
+  If no arguments are given, bench.cmp will try to read one or two latest
+  snapshots from the bench/snapshots directory.
 
   When given one snapshot, `mix bench.cmp` will pretty-print the results.
+  Giving `-` instead of a file name will make bench.cmp read from standard
+  input.
 
   When given two or more snapshots, it will pretty-print the comparison between
   the first and the last one.
 
   ## Options
 
-      -f=<fmt>, --format=<fmt>
+      -f <fmt>, --format=<fmt>
           Which format to use for the deltas when pretty-printing.
 
           One of: ratio, percent.

  end

  defp pretty_print(path) do
    path |> File.read! |> Snapshot.parse |> Snapshot.pretty_print
  end

  defp compare(path1, path2, format) do
    snapshot1 = File.read!(path1) |> Snapshot.parse()
    snapshot2 = File.read!(path2) |> Snapshot.parse()
    {diffs, leftover} = Snapshot.compare(snapshot1, snapshot2, format)

    {snapshots, options} =
      case OptionParser.parse(args, strict: switches, aliases: aliases) do
        {opts, [], []} ->
          {locate_snapshots(), opts}
        {opts, snapshots, []} ->
          {snapshots, opts}
        {_, _, [{opt, val}|_]} ->
