Barry Marks wrote:
>Since the QuickFIX Engine is capable of multithreaded operation, I
>would expect dual CPUs to provide increased performance. Even
>without multithreaded operation, it seems that one should be able to
>run 2 instances of the engine, one on each CPU, to get better
>performance.
>
>
Hi Barry,
I didn't see any response to this message, so I'll give it a shot.
The multithreading in quickfix is basically thread-per-connection. Thus
the amount of paralellism is limited to the number of connections (plus
1 for the main thread). This is unlikely to have much impact on overall
performance (throughput) bit it may help with response time. For any
significant real-world system I would expect he performance to be
dominated by application level code, not by the quickfix engine itself.
If you have performance conceerns, I suggest you start by profiling your
application so you don't end up optimizing in all the wrong places.
You can't run two quickfix engines in one process[1], but I'm not sure
that makes much difference because a single engine can handle an
aribtrary number of connections.
Dale
[1] At least you aren't supposed to be able to run two engines in one
process. I did manage to do that once. The results were not pretty.
--
-----------------------------------------------------
Dale Wilson, Senior Software Engineer
Object Computing, Inc. (OCI)
http://www.ociweb.com/ http://www.theaceorb.com/
----------------------------------------------------
|