What do you use for fetching local messages? unix-stream or unix-dgram?
unix-stream
sysklogd uses unix-dgram while syslog-ng is usually used with unix-stream sources.
Ahhhh, bingo, that's the culprit! Thanks for the pointer. I should then rerun the tests with unix-dgram to get a more accurate comparison and to eventually evade the glibc bug with unix-stream. Let's see if I can shovel enough spare time next week to run a fresh test conduct.
Your results are really appreciated. No one has done so extensive performance testing on syslog-ng before.
Thanks. I'll see if I can do more indepth testing in direction of using pipes, tunnels and redirection (actually sending back filtered event messages from a pipe of a jailed syslog-ng to the originating process [don't ask :)]) to find out if there are other problems.
If I find time I'll run the tests with 3 clients too. But meanwhile I'm all for the inclusion of the gprof'd code since rewriting doesn't look like a feasible option in the current state of development (shortly before stable release).
I'll go with the gperf based code for now.
Cool. Cheers, Roberto Nibali, ratz -- echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc