qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alan Conway <acon...@redhat.com>
Subject Re: C++ logging - anyone heard of pantheios?
Date Mon, 07 May 2007 18:22:07 GMT
On Sun, 2007-05-06 at 14:50 -0700, Garth J Lancaster wrote:
> Alan Conway-2 wrote:
> > 
> > On Thu, 2007-05-03 at 08:36 +0100, Martin Ritchie wrote:
> > Unfortunately the packaging in pantheios is truly apalling. Over 50
> > static libs with names like "pantheios.1.bel.null.gcc40.debug.a" Ack.
> > They only have vc .dsps for their perf test and I gave up trying to
> > figure out what combination of libs was required for it to work.
> > 
> > 
> To be able to keep compatability with a large number of compilers and front
> end/back end options is hard

Yes, especially the way it has been done for Pantheios.  I count 33
makefiles! Consider tools like autoconf
http://www.gnu.org/software/autoconf/ or cmake
http://www.cmake.org/HTML/Index.html to create portable build systems.

>  - unfortunately that makes it look onerous ...

Portability has nothing to do with my issue. I successfully built
pantheios on just one platform with one compiler, and I have 55 static
libraries to deal with. 

> thats why if you follow this link ..
> http://pantheios.sourceforge.net/tutorials_library_selector.html to the
> library selector tool you'll see Matthew's taken the hard work out of it -

Only if you use windows.

> using the tool you select what compiler, front end and back end(s) and it
> generates the necessary includes. Now, is that hard ? 

Compared to the other logging libraries I'm evaluating? Yes, very. E.g.
to use rlog I add this to my makefile "-lrlog" and this to my code
"#include <rlog.h>"

>  I'd submit that for a
> whole lot of flexibility in options, this is a minor price - and once you
> are more familiar with the front ends and back-ends, selecting them manually
> wont be an issue

I don't think that any of pantheios' flexibility is derived from
generating 55 static libraries per platform-compiler combination. I
would guess that 80-90% of users needs would be much better met by one
or two shared libraries. You could still leave the option to generate 55
micro-libs in the build system if you feel it's valuable, but I would
point out that there are only 109 .o files so for people who are
counting every byte it's almost as easy to pick the .o files they want
as the .a files.

Don't get me wrong - I'm impressed with Pantheios run-time performance
and the clever use of string-shims. I will eventually build the
performance tests and depeding on how it fares vs. rlog and some
thoughts of my own I'll consider it seriously for my project. 


View raw message