code: def benchmark_file(
          filename, compiler, include_dirs, (progress_from, progress_to),
          iter_count, extra_flags = ''):
      
      time_sum = 0
      mem_sum = 0
      for nth_run in xrange(0, iter_count):
          (time_spent, mem_used) = benchmark_command(
              '{0} -std=c++11 {1} -c {2} {3}'.format(
                  compiler,
                  ' '.join('-I{0}'.format(i) for i in include_dirs),
                  filename,
                  extra_flags
              ),
              (
                  progress_to * nth_run + progress_from * (iter_count - nth_run)
              ) / iter_count
          )
          os.remove(os.path.splitext(os.path.basename(filename))[0] + '.o')
          time_sum = time_sum + time_spent
          mem_sum = mem_sum + mem_used
  
      return {
          "time": time_sum / iter_count,
          "memory": mem_sum / (iter_count * 1024)
      }
docs: Benchmark one file