easylogging bench and fix async compare with g2log

This commit is contained in:
gabime
2014-12-20 22:25:55 +02:00
parent 37a14f0d22
commit 4250796aea
9 changed files with 126 additions and 145 deletions

View File

@@ -1,81 +1,80 @@
#~/bin/bash
#execute each bench 3 times and print the timing
exec 2>&1
#execute and time given exe 3 times
bench_exe ()
{
echo "**************** $1 ****************"
for i in {1..3}; do
time ./$1 $2;
rm -f logs/*
sleep 3
done;
}
echo "Running benchmakrs (all with 1000,000 writes to the logs folder)"
echo
echo "boost-bench (single thread).."
for i in {1..3}; do time ./boost-bench; done
rm -f logs/*
echo
echo
sleep 5
#execute given async tests 3 times (timing is already builtin)
bench_async ()
{
echo "**************** $1 ****************"
for i in {1..3}; do
./$1 $2;
rm -f logs/*
sleep 3
done;
}
echo "glog-bench (single thread).."
for i in {1..3}; do time ./glog-bench; done
rm -f logs/*
echo
echo
sleep 5
echo "g2log-bench (single thread).."
for i in {1..3}; do time ./g2log-bench; done
rm -f logs/*
echo
echo
sleep 5
echo "----------------------------------------------------------"
echo "Single threaded benchmarks.. (1 thread, 1,000,000 lines)"
echo "----------------------------------------------------------"
for exe in boost-bench glog-bench easylogging-bench spdlog-bench;
do
bench_exe $exe 1
done;
echo "spdlog-bench (single thread)"
for i in {1..3}; do time ./spdlog-bench; done
rm -f logs/*
echo
echo
sleep 5
echo "------------------------------------"
echo "Multithreaded benchmarks.."
echo "------------------------------------"
echo "boost-bench-mt (10 threads, single logger)"..
for i in {1..3}; do ./boost-bench-mt; done
rm -f logs/*
echo
echo
sleep 5
echo "----------------------------------------------------------"
echo "Multi threaded benchmarks.. (10 threads, 1,000,000 lines)"
echo "----------------------------------------------------------"
for exe in boost-bench-mt glog-bench-mt easylogging-bench-mt spdlog-bench-mt;
do
bench_exe $exe 10
done;
echo "glog-bench-mt (10 threads, single logger)"..
for i in {1..3}; do time ./glog-bench-mt; done
rm -f logs/*
echo
echo
sleep 5
echo "----------------------------------------------------------"
echo "Multi threaded benchmarks.. (100 threads, 1,000,000 lines)"
echo "----------------------------------------------------------"
for exe in boost-bench-mt glog-bench-mt easylogging-bench-mt spdlog-bench-mt;
do
bench_exe $exe 100
done;
echo "g2log-bench-mt (10 threads, single logger)"..
for i in {1..3}; do time ./g2log-bench-mt; done
rm -f logs/*
echo
echo
sleep 5
echo "---------------------------------------------------------------"
echo "Async, single threaded benchmark.. (1 thread, 1,000,000 lines)"
echo "---------------------------------------------------------------"
for exe in spdlog-async g2log-async
do
bench_async $exe 1
done;
echo "spdlog-bench-mt (10 threads, single logger)"..
for i in {1..3}; do time ./spdlog-bench-mt; done
rm -f logs/*
echo
echo
sleep 5
echo "---------------------------------------------------------------"
echo "Async, multi threaded benchmark.. (10 threads, 1,000,000 lines)"
echo "---------------------------------------------------------------"
for exe in spdlog-async g2log-async
do
bench_async $exe 10
done;
echo "------------------------------------"
echo "Async benchmarks.."
echo "------------------------------------"
echo "spdlog-bench-async (single thread)"..
for i in {1..3}; do time ./spdlog-bench-async; done
rm -f logs/*
echo
echo
sleep 5
echo "spdlog-bench-mt-async (10 threads, single logger)"..
for i in {1..3}; do time ./spdlog-bench-mt-async; done
echo "---------------------------------------------------------------"
echo "Async, multi threaded benchmark.. (100 threads, 1,000,000 lines)"
echo "---------------------------------------------------------------"
for exe in spdlog-async g2log-async
do
bench_async $exe 100
done;