[openamq-dev] timing

Nick Levine ndl at ravenbrook.com
Fri Aug 24 13:45:09 CEST 2007


Mato,

   This is not normal.  If I take your code and test it here
   (additionally writing a PAL script to declare the exchange and the
   shared queue), I get the following times:

   MT, debug build:

   [dezo:tmp ibase-mtd mt,debug]$ time ./publish

   real	0m0.934s
   user	0m0.441s
   sys	0m0.399s

   ...

Whereas I get (typical example):

real 9.25
user 0.03
sys 0.72

That's _really_ interesting (assuming it's telling the truth).

   ...
   Which gives an average of about 10286 messages per second.

   MT, release build:
   ...

   Which gives an average of about 13646 messages per second.

Useful comparison.

   Granted, this is on hardware that is different from yours, but in a
   similar class (Intel Pentium D 2.8Ghz dual core, 4 GB RAM, x86_64).

   > By the way, the time taken to retrieve these 10k messages is
   > about 0.1 seconds, which is more what I would have expected (100k
   > messages retrieved per second).

   I'm not sure what you mean by "time taken to retrieve these
   messages"?  Do you mean that you publish the 10k messages to a
   shared queue and then run a (separate) receiver to consume those
   messages off that queue?

Yes. The receiver is very bare-bones:

     amq_client_session_wait

     loop:
        amq_client_session_basic_arrived
        amq_content_basic_destroy

   One question, are you linking the test program against the shared
   library or against the normal static libraries?

I was linking against the shared libraries, butI just tried it with
static linking and get the same results.

- nick




More information about the openamq-dev mailing list