///|
/// Times lexing and formatting of a file (best of `repeat` runs).
/// Usage: bench   [repeat] [formatter]
async fn main {
  let args = @env.args()
  let text = @fs.read_file(args[2]).text()
  let repeat = if args.length() > 3 {
    @string.parse_int(args[3]) catch {
      _ => 1
    }
  } else {
    1
  }
  let fmt_name = if args.length() > 4 { args[4] } else { "terminal256" }
  let lx = @lexers.get_lexer_by_name(args[1])
  let fmt = @formatters.get_formatter_by_name(fmt_name)
  let mut best_lex = 1_000_000L
  let mut best_fmt = 1_000_000L
  let mut n = 0
  for _ in 0..