Click here to Skip to main content
15,884,917 members
Please Sign up or sign in to vote.
5.00/5 (1 vote)
See more:
Hi there,

I already described my problem here.

Short description: I am using an API from an DataProvider to program a financial stock exchange analysis program. I can fill a DataStream Object provided by the external API with multible Instrument Objects. This DataStream fires events every time a new price occurs for the respective instrument on the exchange.

If there are many (>50.000) Objects in the DataStream, sometimes it will stop firing the events. It has nothing to do with my code, I already tested the code performance and it looks ok. So somehow this "COM-Server" of the external API is the reason for this behaviour. I noticed, that the problem will occur more often on systems with older CPUs. So it also has something to do with the CPU Power.

Is there any way to influence the performance of the COM Server? Something in the Network Preferences?

Any suggestions would be appreciated.
Posted

You don't say how you instantiate the COM Server, but if it's an out-of-process server, or a component that you access from a remote machine, and you are a client of that server, then the COM library uses the RPC protocol to transfer the data back and forth between the two machines. You might refer to: The Network Protocol[^], a chapter from the book "Inside COM+", which describes the methods COM uses to communicate with a DCOM component on a remote machine. Also, from the same book, Standard Marshaling[^], explains the actual COM Library mechanisms involved in managing the proxy and stub architecture.
If you are accessing an out-of-process server, then that is definitely your bottleneck, and not the code that you posted in the C# Forum.
 
Share this answer
 
Your reasoning isn't correct. I've been working with COM for 15 years, and i know where it can and cannot fail. In the past i'd run tests with events firing way over 1 billion times, without failing once. Somethign is going on wrong on your side there, and i suggest that you looking into it. The fact that the problem manifests after appr. 50,000 events isn't an excuse to start blaiming COM for it.

I cannot suggest more with as few details as you provided.
 
Share this answer
 


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900