docs: static double run(int num_threads) {
  
      final double membw[] = new double[num_threads];
      Thread[] threads = new Thread[num_threads];
      for (int t=0;t<num_threads;++t) {
        final int thread_num = t;
        threads[t] = new Thread() {
          public void run() {
            MemoryBandwidth l = new MemoryBandwidth();
            membw[thread_num] = l.run_benchmark();
          }
        };
      }
      for (int t=0;t<num_threads;++t) {
        threads[t].start();
      }
      for (int t=0;t<num_threads;++t) {
        try {
          threads[t].join();
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
      return Utils.sum(membw);
    }