#include "api.h" #include #include #include int main(int, char*[]) { struct Api api = get_implementation(); size_t nr_test = 10000; std::vector elements(nr_test); boost::timer::cpu_timer timer; timer.start(); for(auto&& el : elements) { el = api.get_group_element(true); } auto random_time = timer.elapsed().user; for(size_t i = 0; i < nr_test; i++) { elements[i] = api.combine(elements[i], elements[(i+1) % nr_test], true); } auto combine_time = timer.elapsed().user - random_time; for(size_t i = 0; i < nr_test; i++) { elements[i] = api.uncombine(elements[i], elements[(i+1) % nr_test], true); } auto uncombine_time = timer.elapsed().user - combine_time; timer.stop(); std::cout << "Micro Benchmark:" << std::endl << "Random:\t\t" << random_time / 1000000.0 << " ms" << std::endl << "Combine:\t" << combine_time / 1000000.0 << " ms" << std::endl << "Uncombine:\t" << uncombine_time / 1000000.0 << " ms" << std::endl; }