 
 #include <iostream>
 #include <iomanip>
+
+struct malloc_free
+{
+    void operator()(size_t n)
+    {
+        char * buff = (char *) malloc(n);
+        free(buff);
+    }
+};
 
 struct cudaMalloc_cudaFree
 {


int main(void)
{
    std::cout << "cudaMalloc() & cudaFree()" << std::endl;
    benchmark(cudaMalloc_cudaFree());
    

};

template <typename TestFunction>
void benchmark(TestFunction f, size_t max_n = (size_t) 1 << 30, size_t num_iterations = 100)
{
    for (size_t n = 1; n <= max_n; n *= 2)
    {
