Example #1
0
void time_algorithms(sort_mode mode, std::vector<size_t> sizes, sort_function *fs_sort, std::string *algorithm_names, int num_algorithms)
{
    time_t start_time_total = time(NULL);
    
    int *arr = create_array(sizes[sizes.size() - 1], mode);
    long long *results = new long long[sizes.size() * num_algorithms];
    
    for(int i = 0; i < num_algorithms; i++) {
        time_t start_time = time(NULL);
        
        long long *current_results = time_algorithm(arr, sizes, fs_sort[i]);
        
        for(int j = 0; j < sizes.size(); j++) {
            results[i * sizes.size() + j] = current_results[j];
        }
        
        delete[] current_results;

        std::cout << "Took " << time(NULL) - start_time << "s" << std::endl << std::endl;
    }
    
    time_t total_time = time(NULL) - start_time_total;
    std::cout << std::endl << "All took " << total_time / 60 << ":" << total_time % 60 << std::endl;

    std::ofstream f("/Users/frnkymac/Code/arz/arz_ultimate/pidr.dat", std::ios::trunc | std::ios::out);
    
    f << "-";
    
    for(int i = 0; i < num_algorithms; i++) {
        f << " " << algorithm_names[i];
    }
    
    f << std::endl;
    
    for(int i = 0; i < sizes.size(); i++) {
        f << sizes[i];
        
        for(int j = 0; j < num_algorithms; j++) {
            f << " " << results[j * sizes.size() + i];
        }
        
        f << std::endl;
    }
    
    f.close();
    
    delete[] results;
    delete[] arr;
}
Example #2
0
 void run_performance_test()
 {
     time_algorithm();
     generate_output();
 }