C++ implementation of the Google logging module
There can be a large kernel overhead involved in POSIX_FADV_DONTNEED.
There is no point in calling this per item logged, so rate limit
to at most once per 2MiB written.
With a simple test program that logs 100K items at WARNING level:
Before:
$ time strace -c -e fadvise64 log.test \
-log_dir=/dev/shm -logtofiles=true -logtostderr=false
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 12.522509 125 99957 fadvise64
------ ----------- ----------- --------- --------- ----------------
real 0m52.671s
user 0m2.194s
sys 0m44.022s
After:
$ time strace -c -e fadvise64 log.test \
-log_dir=/dev/shm -logtofiles=true -logtostderr=false
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.000759 152 5 fadvise64
------ ----------- ----------- --------- --------- ----------------
real 0m4.206s
user 0m1.436s
sys 0m3.153s
Fixes issue #84
|
||
|---|---|---|
| cmake | ||
| doc | ||
| m4 | ||
| packages | ||
| src | ||
| vsprojects | ||
| .gitignore | ||
| aclocal.m4 | ||
| AUTHORS | ||
| ChangeLog | ||
| CMakeLists.txt | ||
| compile | ||
| config.guess | ||
| config.sub | ||
| configure | ||
| configure.ac | ||
| CONTRIBUTING.md | ||
| CONTRIBUTORS | ||
| COPYING | ||
| depcomp | ||
| glog-config.cmake.in | ||
| google-glog.sln | ||
| INSTALL | ||
| install-sh | ||
| libglog.pc.in | ||
| ltmain.sh | ||
| Makefile.am | ||
| Makefile.in | ||
| missing | ||
| mkinstalldirs | ||
| NEWS | ||
| README | ||
| README.windows | ||
| test-driver | ||
This repository contains a C++ implementation of the Google logging module. Documentation for the implementation is in doc/. See INSTALL for (generic) installation instructions for C++: basically ./configure && make && make install