Re: Inter-process call overhead under Windows XP SP2

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



As I already said, the cost depends on many factors, inluding
the number of threads running on the machine and the CPU
utilization. The number of arguments affects the memory copies
only, but those are negligible in your case. The most overhead
comes from thread switching. (BTW, there's no memory copy
involved from one process into the other - COM likely uses
shared memory.)

--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@xxxxxxxx
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================

"Dilip" <rdilipk@xxxxxxxxx> wrote in message
news:1161366387.113085.8060@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Alexander Nickolov wrote:
It's hard to tell. You didn't mention your hardware platform.
And you didn't say what are the apartment models for your
client and server. Best performance would come from using
MTA in both places. Anyway, 1 microsecond sounds reasonable
if you have a dual core CPU and/or a lightly loaded machine.
Otherwise thread switching among more and longer-lasting
threads would prevent you from obtaining such good times.

Sorry.. The applications are running under a dual-proc Intel 986MHz,
1.2GB Ram, Windows 2000 SP4 machine.

An inproc COM object from process 1 (apartment threaded) calls in to a
COM server (process 2, acting as a NT service). process 2 is
completely multi-threaded (MTA).

Just to skew this a bit further I am not running a test application on
process 1. Its an application that is part of a much larger system
that ends up calling the interface method exposed by process 2 around
half-a-million times.

Roughly what do you think would be the cost of a COM/LPC call with 10
parameters?



.



Relevant Pages

  • Re: for linux, which CPUs are almost always faster than which other CPUs?
    ... Is there any way to find out how to compare two different CPUs for the ... For a *web server*, the main bottleneck is you disk drives / mass storage ... The *second* bottleneck will be memory. ... And then I'll ask someone about comparing CPU A and CPU B, ...
    (comp.os.linux.misc)
  • Re: 64-bit memory consumption
    ... CPU cores and memory keep pace with each other, ... There is time spent in GC that won't be affected only to the GC cycles, you get indirect hits in the form of poor cache coherency and cache pollution in the code that uses GC'ed memory. ... Desktop CPUs with significantly larger caches aren't there yet, and on a server, your cache is shared by multiple applications, and you can't appropriate it all for your application's purpose without affecting the rest. ...
    (borland.public.delphi.non-technical)
  • Re: Slowly Terminal Server response
    ... physical memory is an indicator of available memory. ... If Task Manager only shows a single CPU graph, then only one CPU is installed. ... A good general guide to keep in mind is that most applications require the similar amount of memory as they would on a desktop for each user. ... I normally start with a general guideline of 25-30 concurrent users for a server with 4 GB of RAM and 2 CPUs and then do testing for a specific set of required applications. ...
    (microsoft.public.windows.terminal_services)
  • Re: CTRL-ALT-DEL SCREEN VANISHES
    ... for memory and CPU can give you an idea of what is going on. ... The server runs the following apps/services ... force the problem to occur making it more difficult to troubleshoot. ...
    (microsoft.public.windows.server.security)
  • Re: FTS Performance in SQL 2005
    ... You try drinking a gallon of water with a straw, the bootleneck is the straw it can only handle a certain flow of liquid, its the pipe thats the bottleneck not you (as the CPU). ... But why is it that I don't see any change in Memory or CPU ... Plan window will then give you a percentage query cost relative ...
    (microsoft.public.sqlserver.fulltext)