[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster] Performances



First of all, congratulations for bringing such a nice development to the open source community.

In order to evaluate the performance of xmlblaster in replacement of an off-the-shelf product, I modified the HelloWorld.c demo into a simple C client generating publishOneway as fast as it can . 
The client only takes 1.2% of the CPU time on an old HP-UX machine (PA8500 2.0 300 Mhz).

Here is an extract of the client:
   for (i=0; i< 10000; i++)
   {
        xb->publishOneway(xb, &msgUnitArr, &exception);
         if (*exception.errorCode != '\0')
         {
                printf("[HelloWorld] Caught exception in publish errorCode=%s, message=%s\n",
                       exception.errorCode, exception.message);
                freeXmlBlasterConnectionUnparsed(xb);
                exit(1);
         }
    }

The server rel 1.0.2 runs on a Pentium 4 at 1.2 GHz with JRE 1.4.2_03.
There is no subscription pending.

By using sockets, I was expecting better results than with CORBA (http://www.xmlblaster.org/performance.html) and obtained a throughput of 400 messages / seconds.
The limit is not the network as the server takes 99% of the CPU time.

When using the standard publish method, the throughput is 310 messages/s.

a) Am I doing something wrong ?
b) Should we expect improvement of throughput in future releases ?
c) Any plan for writing a high performance version of the server in C++ ?

Thanks,

Yves Claereboudt

DISCLAIMER :

The contents of this e-mail message and any attachments are intended solely for the addressee(s) named in this message. This communication is intended to be and to remain confidential and may be subject to applicable work product privileges. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. Ion Beam Applications therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission.