mirror of
https://github.com/gabime/spdlog.git
synced 2025-09-29 01:29:35 +08:00
added g3log crush example
This commit is contained in:
@@ -1,17 +1,3 @@
|
||||
//// to compile: c++ bench.cpp -o bench -Wall -Wshadow -Wextra -pedantic -std=c++11 -pthread -I../include -O3 -fPIC -Ofast -m64 -march=native
|
||||
|
||||
// Alternative: c++ bench.cpp -o bench -Wall -Wshadow -Wextra -pedantic -std=c++11 -pthread -I../include -O3 -march=native
|
||||
|
||||
|
||||
// the test code itself is Public domain @ref: Unlicense.org
|
||||
// made by KjellKod, 2015, first published for testing of g3log at github.com/kjellkod/g3log
|
||||
// Feel free to share, modify etc with no obligations but also with no guarantees from my part either
|
||||
// enjoy - Kjell Hedstrom (aka KjellKod)
|
||||
//
|
||||
//
|
||||
// spdlog follows however another license. See the bottow of this file
|
||||
//
|
||||
|
||||
#include <thread>
|
||||
#include <vector>
|
||||
#include <atomic>
|
||||
@@ -52,7 +38,7 @@ void MeasurePeakDuringLogWrites(const size_t id, std::vector<uint64_t>& result)
|
||||
}
|
||||
|
||||
auto start_time = std::chrono::high_resolution_clock::now();
|
||||
LOGF(INFO, "Some text to log for thread: %ld", id);
|
||||
LOGF(INFO, "Some text to log for thread: %ld", id);
|
||||
auto stop_time = std::chrono::high_resolution_clock::now();
|
||||
uint64_t time_us = std::chrono::duration_cast<std::chrono::microseconds>(stop_time - start_time).count();
|
||||
result.push_back(time_us);
|
||||
@@ -73,13 +59,13 @@ void PrintResults(const std::map<size_t, std::vector<uint64_t>>& threads_result,
|
||||
|
||||
// calc worst latenct
|
||||
auto worst = *std::max_element(all_measurements.begin(), all_measurements.end());
|
||||
|
||||
|
||||
// calc avg
|
||||
auto total = accumulate(begin(all_measurements), end(all_measurements), 0, std::plus<uint64_t>());
|
||||
auto avg = double(total)/all_measurements.size();
|
||||
|
||||
std::cout << "[g3log] worst: " << std::setw(10) << std::right << worst << "\tAvg: " << avg << "\tTotal: " << utils::format(total_us) << " us" << std::endl;
|
||||
|
||||
|
||||
}
|
||||
}// anonymous
|
||||
|
||||
@@ -120,10 +106,10 @@ int main(int argc, char** argv)
|
||||
const std::string g_prefix_log_name = "g3log-performance-";
|
||||
const std::string g_measurement_dump = g_path + g_prefix_log_name + "_RESULT.txt";
|
||||
|
||||
auto worker = g3::LogWorker::createLogWorker();
|
||||
auto worker = g3::LogWorker::createLogWorker();
|
||||
auto handle= worker->addDefaultLogger(argv[0], "g3log.txt");
|
||||
g3::initializeLogging(worker.get());
|
||||
|
||||
|
||||
auto start_time_application_total = std::chrono::high_resolution_clock::now();
|
||||
for (uint64_t idx = 0; idx < number_of_threads; ++idx)
|
||||
{
|
||||
|
Reference in New Issue
Block a user