Click here to Skip to main content
15,888,286 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
We have a system, written by C++. When it starts running, it will start an addon program. The addon is a COM EXE (outer process server). Customers can call the addon, get the system pointer, developing new features for the system. The performance is good under windows XP, but it is slower 7~8 times after we install our system on the Windows 7. I add amount of data into system, record the time at different parts. Finally, I found that the interprocess calling is very very slow. I don't know why? Could anybody help me? I was persecuted by it for a long period.
Posted
Updated 13-Jun-10 0:51am
v2

1 solution

Your question is to general.You should mention the details for inter-process communication model are you using and maybe post some relevant code.Have you tried to analyse your service using a profiler like VTune or AMD code analyst?You could even debug it and find the hot spots that slow down your code. :)
 
Share this answer
 
v2
Comments
pear76 13-Jun-10 22:43pm    
Yes, I have used tool, like LTProf. But it isn't useful, it only calculates time of our codes, not count in RPC time. The problem doesn't lie in our codes. I added 1000 records into our system, for some critical functions, I test 10 times each. Record two sides time ------ our system and customer's program, and then use custoer's program time to subtract our system time, get the time which waste in IPC, comparing the time between windows XP and windows 7. For the COM EXE, it is not complicate, it just exposes the system pointer for customer's program, customer uses it to invoke our system, of course, the calling is inter-process.
[no name] 14-Jun-10 4:53am    
You said you subtracted customer's computer time from server time.Are sure that that these times are perfectly synchronized ? Do you have any special firewalls or antivirus programs installed on the client's computer?They could potentially slow down access to remote code.
pear76 14-Jun-10 21:34pm    
Thank you very much for your answer. Definitely, The system is new, I close all the firewalls and antivirus programs. I also test it in other systems recently, and found that it is not only existed in windows 7, but also does in Vista and Windows Server 2008 R2. Whatever x86 or x64, they all have the same problem.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



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