///|
/// Build a deterministic set of points for throughput measurements.
fn make_points(count : Int32) -> Array[@moonflux.Point] {
  let points : Array[@moonflux.Point] = Array(capacity=count)
  for i in 0.. String {
  let out = StringBuilder()
  out.write_string(
    "#datatype,string,long,dateTime:RFC3339,double,string,string,string\n",
  )
  out.write_string("#group,false,false,false,false,true,true,true\n")
  out.write_string("#default,_result,,,,,,\n")
  out.write_string(",result,table,_time,_value,_field,_measurement,host\n")
  for i in 0.. value
    Err(_) => ""
  }
  let csv = make_flux_csv(10000)

  bench.bench(name="encode_10k_points", count=5, () => {
    match @moonflux.encode_points(points) {
      Ok(value) => bench.keep(value)
      Err(_) => ()
    }
  })
  bench.bench(name="parse_10k_lines", count=5, () => {
    match @moonflux.parse_lines(encoded) {
      Ok(value) => bench.keep(value)
      Err(_) => ()
    }
  })
  bench.bench(name="parse_10k_flux_rows", count=5, () => {
    match @moonflux.parse_flux_query_result(csv) {
      Ok(value) => bench.keep(value)
      Err(_) => ()
    }
  })
  println(bench.dump_summaries())
}