From f19ed761e20f2be5a77910d0fbafccee297a1cbe Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Thu, 1 Jul 2021 23:27:09 -0700 Subject: [PATCH] console ouput supported instruction sets --- main.cpp | 128 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 67 insertions(+), 61 deletions(-) diff --git a/main.cpp b/main.cpp index 29c8e61..a72c43e 100644 --- a/main.cpp +++ b/main.cpp @@ -28,77 +28,83 @@ void SaveSig(int s) int main(int argc, char **argv) { - std::cout << "\nSSE3 : " << (__builtin_cpu_supports("sse3") ? "enabled" : "disabled") - << "\nThreads : " << get_nprocs() + 1 - << std::endl; //flushing before EventLoop + std::cout + << "\nAVX : " << (__builtin_cpu_supports("avx") ? "enabled" : "disabled") + << "\nAVX 2 : " << (__builtin_cpu_supports("avx2") ? "enabled" : "disabled") + << "\nSSE 2 : " << (__builtin_cpu_supports("sse2") ? "enabled" : "disabled") + << "\nSSE 3 : " << (__builtin_cpu_supports("sse3") ? "enabled" : "disabled") + << "\nSSE 4.1 : " << (__builtin_cpu_supports("sse4.1") ? "enabled" : "disabled") + << "\nSSE 4.2 : " << (__builtin_cpu_supports("sse4.2") ? "enabled" : "disabled") + << "\n\nThreads : " << get_nprocs() + 1 + << std::endl; //flushing before EventLoop - static_assert(bool(MAX_LOG_SIZE) == bool(PRE_LOG_SIZE), "You must either utilize both or neither logging variables.\n"); - static_assert(MAX_LOG_SIZE >= PRE_LOG_SIZE, "The maximum log size must be larger than or equal to the amount preallocated.\n"); - static_assert(!MAX_LOG_SIZE || !(MAX_LOG_SIZE % PRE_LOG_SIZE), "The maximum log size must be divisible by the preallocation size.\n"); + // static_assert(bool(MAX_LOG_SIZE) == bool(PRE_LOG_SIZE), "You must either utilize both or neither logging variables.\n"); + // static_assert(MAX_LOG_SIZE >= PRE_LOG_SIZE, "The maximum log size must be larger than or equal to the amount preallocated.\n"); + // static_assert(!MAX_LOG_SIZE || !(MAX_LOG_SIZE % PRE_LOG_SIZE), "The maximum log size must be divisible by the preallocation size.\n"); - if (argc != 3) - { - std::cerr << "Usage: sudo ./bank \n"; - return 0; - } - if (geteuid() != 0) - { - std::cerr << "ERROR: CCash MUST be ran as root\n"; - return 0; - } + // if (argc != 3) + // { + // std::cerr << "Usage: sudo ./bank \n"; + // return 0; + // } + // if (geteuid() != 0) + // { + // std::cerr << "ERROR: CCash MUST be ran as root\n"; + // return 0; + // } - //Loading users from users.json - bank.Load(); + // //Loading users from users.json + // bank.Load(); - //Sig handling - struct sigaction sigIntHandler; + // //Sig handling + // struct sigaction sigIntHandler; - sigIntHandler.sa_handler = SaveSig; - sigemptyset(&sigIntHandler.sa_mask); - sigIntHandler.sa_flags = 0; + // sigIntHandler.sa_handler = SaveSig; + // sigemptyset(&sigIntHandler.sa_mask); + // sigIntHandler.sa_flags = 0; - sigaction(SIGINT, &sigIntHandler, NULL); + // sigaction(SIGINT, &sigIntHandler, NULL); - //Admin Password - bank.admin_pass = argv[1]; + // //Admin Password + // bank.admin_pass = argv[1]; - //Auto Saving - const unsigned long saving_freq = std::stoul(std::string(argv[2])); - if (saving_freq) //if saving frequency is 0 then auto saving is turned off - { - std::thread([saving_freq]() { - while (1) - { - std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); - std::cout << "Saving " << std::time(0) << '\n'; - if (bank.GetChangeState()) - { - std::cout << " to disk...\n"; - bank.Save(); - } - else - { - std::cout << " no changes...\n"; - } - } - }).detach(); - } + // //Auto Saving + // const unsigned long saving_freq = std::stoul(std::string(argv[2])); + // if (saving_freq) //if saving frequency is 0 then auto saving is turned off + // { + // std::thread([saving_freq]() { + // while (1) + // { + // std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); + // std::cout << "Saving " << std::time(0) << '\n'; + // if (bank.GetChangeState()) + // { + // std::cout << " to disk...\n"; + // bank.Save(); + // } + // else + // { + // std::cout << " no changes...\n"; + // } + // } + // }).detach(); + // } - auto API = std::make_shared(bank); - auto user_filter = std::make_shared(bank); - auto admin_filter = std::make_shared(bank); + // auto API = std::make_shared(bank); + // auto user_filter = std::make_shared(bank); + // auto admin_filter = std::make_shared(bank); - app().registerPostHandlingAdvice( - [](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) { - resp->addHeader("Access-Control-Allow-Origin", "*"); //CORS - }); - app() - .loadConfigFile(config_location) - .registerFilter(user_filter) - .registerFilter(admin_filter) - .registerController(API) - .setThreadNum(get_nprocs()) - .run(); + // app().registerPostHandlingAdvice( + // [](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) { + // resp->addHeader("Access-Control-Allow-Origin", "*"); //CORS + // }); + // app() + // .loadConfigFile(config_location) + // .registerFilter(user_filter) + // .registerFilter(admin_filter) + // .registerController(API) + // .setThreadNum(get_nprocs()) + // .run(); return 0; }