Go to file
Jan Pokorný 1dc71575da
tests: ipc: speed the suite up with avoiding expendable sleep(3)s
Using i7-6820HQ CPU yields these results:

Before: ~2:54
After: ~2:26
Speedup: ~16%

The main optimization lies in how run_function_in_new_process helper is
constructed, since now, there's an actual synchronization between the
parent and its child (that needs to be prioritized here, which is
furthermore help with making the parent immediately give up it's
processor possession) after the fork, so that a subsequent sleep is
completely omitted -- at worst (unlikely), additional sleep round(s)
will need to be undertaken as already arranged for (and now, just
400 ms is waited rather than excessive 1 second).

Another slight optimization is likewise in omission of sleep where
the control gets returned to once the waited for process has been
suceesfully examined post-mortem, without worries it's previous
life is still resounding.

Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
2019-06-12 16:27:47 +02:00
.tito build: tito: unify custom.py with pacemaker's version 2016-12-16 15:48:25 +01:00
build-aux build: release.mk: deal with trailing whitespace-to-comment-delimiter 2017-12-14 16:17:33 +01:00
docs Fix spelling: plaform -> platform 2019-04-23 14:02:56 +01:00
examples warnings cleanup: Wformat: sign-correct PRIu32 specifiers as appropriate 2017-12-21 01:50:15 +01:00
include Fix garbled Doxygen markup 2019-04-23 14:02:56 +01:00
lib version: bump soname for 1.0.5 release 2019-04-25 09:13:19 +01:00
m4 configure: define AS_VAR_COPY (#267) 2017-09-18 11:31:43 +01:00
tests tests: ipc: speed the suite up with avoiding expendable sleep(3)s 2019-06-12 16:27:47 +02:00
tools doc: qblog.h: syslog rarely appropriate for ordinary programs 2017-12-14 10:42:09 +01:00
.gitignore High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
.tito.spec.tmpl build: allow for git -> automatic COPR builds integration 2016-11-18 23:32:44 +01:00
.travis.yml tests: new sort of tests dubbed "functional", cover linker vs. logging 2017-12-12 20:46:02 +01:00
autogen.sh build: follow-up on introducing custom m4 macros 2017-05-19 15:32:55 +02:00
check High: bare fix for libqb logging not working with ld.bfd/binutils 2.29+ 2017-12-12 23:23:35 +01:00
coding_style.txt Point the link to the Linux kernel coding style document to the right place (#256) 2017-05-26 14:15:32 +01:00
configure.ac warnings cleanup: give up on some warning classes for now 2017-12-21 01:56:06 +01:00
COPYING Re-license to LGPL 2.1 2010-05-25 06:11:59 +10:00
INSTALL The license is in COPYING, not LICENSE 2015-12-16 19:28:20 +01:00
libqb.spec.in tests: new sort of tests dubbed "functional", cover linker vs. logging 2017-12-12 20:46:02 +01:00
Lindent Change Lindent options to break the procedure type. 2011-06-22 14:19:14 +10:00
Makefile.am build: follow-up on introducing custom m4 macros 2017-05-19 15:32:55 +02:00
README.markdown doc: README: add a status badge+link for the COPR builds 2016-11-22 16:36:26 +01:00

libqb

What is libqb?

libqb is a library with the primary purpose of providing high-performance, reusable features for client-server architecture, such as logging, tracing, inter-process communication (IPC), and polling.

libqb is not intended to be an all-encompassing library, but instead provide focused APIs that are highly tuned for maximum performance for client-server applications.

Build Status COPR Build Status

For more information, see:

Dependencies

  • glib-2.0-devel (If you want to build the glib example code)
  • check-devel (If you want to run the tests)
  • doxygen and graphviz (If you want to build the doxygen man pages or html manual)

Source Control (GIT)

git clone git://github.com/ClusterLabs/libqb.git

See Github

Installing from source

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

How you can help

If you find this project useful, you may want to consider supporting its future development. There are a number of ways to support the project.