void compare_with_boost() { mlog::standard_logger_thread_safe log_ts; mlog::manager->set_log(log_ts); mlog::manager->use_thread_id(true); mlog::manager->use_time(true); double m = single_thread_test(); m = single_thread_test(); double b = single_thread_test_boost(); b = single_thread_test_boost(); std::cout << "### mlog benchmark ###" << std::endl << std::endl; std::cout << "compare with boost.log on stdout :" << std::endl; std::cout << "\tboost.log:\t" << b << "ms" << std::endl; std::cout << "\tmlog:\t\t" << m << "ms" << std::endl; std::remove("boost.log"); std::remove("mlog.log"); init(); mlog::file_logger_thread_safe logfile("mlog.log"); mlog::manager->set_log(logfile); b = single_thread_test_boost(); b = single_thread_test_boost(); m = single_thread_test(); m = single_thread_test(); std::remove("boost.log"); std::remove("mlog.log"); std::cout << "compare with boost.log on tests:" << std::endl; std::cout << "\tboost.log:\t" << b << "ms" << std::endl; std::cout << "\tmlog:\t\t" << m << "ms" << std::endl; }
result memory_logger() { result r; mlog::memory_logger_normal log; mlog::manager->set_log(log); mlog::manager->set_default_settings(); r.normal = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_thread_id(true); r.with_thread_id = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_time(true); r.with_time = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_position(true); mlog::manager->set_default_settings(); r.with_pos = single_thread_test(); std::cout << "memory tests:" << std::endl; std::cout << "\t" << "mlog::memory_logger => " << r.normal << "ms" << std::endl; std::cout << "\t\twith thread id:\t\t" << ((r.with_thread_id - r.normal) > 0 ? "+" : "") << r.with_thread_id - r.normal << "ms" << std::endl; std::cout << "\t\twith time:\t\t" << ((r.with_time - r.normal) > 0 ? "+" : "") << r.with_time - r.normal << "ms" << std::endl; std::cout << "\t\twith code position:\t" << ((r.with_pos - r.normal) > 0 ? "+" : "") << r.with_pos - r.normal << "ms" << std::endl; return r; }
int main(int argc, char* argv[]) { single_thread_test(); multi_thread_test(); return 0; }
void frontend() { std::cout << "frontend tests:" << std::endl; empty_logger onlyfrontend; mlog::manager->set_log(onlyfrontend); mlog::manager->set_default_settings(); std::cout << "\tdefault settings =>\t" << single_thread_test() << "ms" << std::endl; mlog::manager->use_thread_id(true); std::cout << "\tadded thread id =>\t" << single_thread_test() << "ms" << std::endl; mlog::manager->use_time(true); std::cout << "\tadded time =>\t\t" << single_thread_test() << "ms" << std::endl; mlog::manager->use_position(true); std::cout << "\tadded position time =>\t" << single_thread_test() << "ms" << std::endl; }
int main(int argc, char* argv[]) { #if 0 single_thread_test(); #else multi_thread_test(); #endif return 0; }
result cout_logger() { result r; mlog::standard_logger log; mlog::manager->set_log(log); mlog::manager->set_default_settings(); r.normal = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_thread_id(true); r.with_thread_id = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_time(true); r.with_time = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_position(true); r.with_pos = single_thread_test(); mlog::standard_logger_thread_safe log_ts; mlog::manager->set_log(log_ts); mlog::manager->set_default_settings(); r.thread_safe = single_thread_test(); mlog::async_logger<mlog::standard_logger> log_async; mlog::manager->set_log(log_async); mlog::manager->set_default_settings(); r.async = single_thread_test(); log_async.flush(); return r; }
result file_logger() { result r; const std::string filename = "file_logger.log"; std::remove(filename.c_str()); mlog::file_logger log(filename); mlog::manager->set_log(log); mlog::manager->set_default_settings(); r.normal = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_thread_id(true); r.with_thread_id = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_time(true); r.with_time = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_position(true); r.with_pos = single_thread_test(); std::remove(filename.c_str()); mlog::file_logger_thread_safe log_ts(filename); mlog::manager->set_log(log_ts); mlog::manager->set_default_settings(); r.thread_safe = single_thread_test(); std::remove(filename.c_str()); mlog::async_logger<mlog::file_logger> log_async(filename); mlog::manager->set_log(log_async); mlog::manager->set_default_settings(); r.async = single_thread_test(); log_async.flush(); std::cout << "file tests:" << std::endl; std::cout << "\t" << "mlog::file_logger => " << r.normal << "ms" << std::endl; std::cout << "\t" << "mlog::thread_safe<mlog::file_logger> => " << r.thread_safe << "ms" << std::endl; std::cout << "\t" << "mlog::async_logger<mlog::file_logger> => " << r.async << "ms" << std::endl; std::cout << "\t\twith thread id:\t\t" << ((r.with_thread_id - r.normal) > 0 ? "+" : "") << r.with_thread_id - r.normal << "ms" << std::endl; std::cout << "\t\twith time:\t\t" << ((r.with_time - r.normal) > 0 ? "+" : "") << r.with_time - r.normal << "ms" << std::endl; std::cout << "\t\twith code position:\t" << ((r.with_pos - r.normal) > 0 ? "+" : "") << r.with_pos - r.normal << "ms" << std::endl; std::remove(filename.c_str()); return r; }
result syslog_logger() { result r; mlog::syslog_logger log; mlog::manager->set_log(log); mlog::manager->set_default_settings(); r.normal = single_thread_test(); mlog::manager->use_thread_id(true); r.with_thread_id = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_time(true); r.with_time = single_thread_test(); mlog::manager->set_default_settings(); mlog::manager->use_position(true); r.with_pos = single_thread_test(); mlog::thread_safe<mlog::syslog_logger> log_ts; mlog::manager->set_log(log_ts); mlog::manager->set_default_settings(); r.thread_safe = single_thread_test(); mlog::async_logger<mlog::syslog_logger> log_async; mlog::manager->set_log(log_async); mlog::manager->set_default_settings(); r.async = single_thread_test(); log_async.flush(); std::cout << "syslog tests:" << std::endl; std::cout << "\t" << "mlog::syslog_logger => " << r.normal << "ms" << std::endl; std::cout << "\t" << "mlog::thread_safe<mlog::syslog_logger> => " << r.thread_safe << "ms" << std::endl; std::cout << "\t" << "mlog::async_logger<mlog::syslog_logger> => " << r.async << "ms" << std::endl; std::cout << "\t\twith thread id:\t\t" << ((r.with_thread_id - r.normal) > 0 ? "+" : "") << r.with_thread_id - r.normal << "ms" << std::endl; std::cout << "\t\twith time:\t\t" << ((r.with_time - r.normal) > 0 ? "+" : "") << r.with_time - r.normal << "ms" << std::endl; std::cout << "\t\twith code position:\t" << ((r.with_pos - r.normal) > 0 ? "+" : "") << r.with_pos - r.normal << "ms" << std::endl; return r; }
int main(int argc, char** argv) { single_thread_test(); return 0; }