www.digitalmars.com         C & C++   DMDScript  

c++.announce - [Pantheios] Performance test: early results indicate Pantheios is 10-100 times faster than competitors ...

... and all without macros, or type-unsafe variadics/insertion operators, or 
template meta-programming trickery. ;-)

The full performance test suite and results will be posted on the Pantheios 
website (http://pantheios.org/) shortly (hopefully before the end of next 
w/e).

Cheers

Matthew

P.S. I'm also 50% there with working out how to support log4j-like format 
strings, which would look like the following:

    std::string    arg0 = "blah blah";
    HWND      arg1 = ::GetDesktopWindow();

    pantheios::fmt_log(pantheios::debug
                            , "This is the format string, containing 
argument 0: {0}, arg 1 {1}, and arg 0 {0} again!"
                            , arg0, arg1);

Note that arg0 is used twice. But any conversions in such cases would only 
be done once.

The format string would be split into slices (no memory allocation, of 
course!), and, along with its arguments, would be turned into an array of 
slices, which the core already understands and processes efficiently.

I'm also confident that the the format string can be loaded from a "resource 
bundle", and would be JIT-compiled into an array of string slices.

    pantheios::fmt_log(pantheios::debug
                            , pantheios::msgId(MY_MESSAGE_1)
                            , arg0, arg1);

But this is all going to have to be 1.1. For now, I have a few other things 
occupying my time ("real work" + http://extendedstl.com, 
http://breakingupthemonolith.com, and XMLSTL).
Sep 10 2006