 #include <cstdlib>
 #include <iostream>
 #include <vector>
+#include <chrono>
 
 #include <thrust/device_vector.h>
 

    //print_valid_data(ref_valid.data(), total_size); printf("\n");
    //print_valid_data(output_gdf_col->valid, total_size);
  }
};

// Test various cases with null pointers or empty columns

                        [](int index){ return std::rand(); },
                        bit_setter);
}

#ifdef ENABLE_CONCAT_BENCHMARK
TEST_F(ColumnConcatTest, Benchmark) {   
   
  size_t n = 42000000;
  std::vector<size_t> column_sizes{n, n, n, n};

  gdf_size_type null_interval = 17;

  auto bit_setter = [null_interval](gdf_size_type row, gdf_size_type col) { 
    return (row % null_interval) != 0; 
  };

  multicolumn_bench<int>(column_sizes, 
                        [](int index){ return std::rand(); },
                        bit_setter);
}
#endif // ENABLE_CONCAT_BENCHMARK
