#include <chrono>
#include <iostream>
#include <ratio>
#include <thread>

int main() {
   unsigned int counter = 0;
   unsigned int nof_threads = 1<<15;

   auto start = std::chrono::high_resolution_clock::now();
      for (unsigned int i = 0; i < nof_threads; ++i) {
         auto t = std::thread([&]() { ++counter; });
         t.join();
      }
   auto finish = std::chrono::high_resolution_clock::now();
   std::chrono::duration<double, std::micro> elapsed = finish - start;
   std::cout << "avg time per thread creation = " <<
      elapsed.count() / nof_threads << " us" << std::endl;
}
