Performance Issues

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Ram  Stern

    Performance Issues

    Hey,
    I have a ServicedCompone nt derived class, with only one method that
    uses ESRI objects.
    When I run the object in ApplicationActi vation set to library I get
    greate calltimes, but when I set it to work as Server, my calltime
    becomes almost 20 times slower.
    When running a .Net object under Com+ as Server activation, I know
    there are performance issues because of the creation time of the object
    in the Com+, but even though, the differences shouldnt be so immense...
    What could make the performance differences so big (20 times slower)?
    Thanks ahead

    --Ram

  • Nicholas Paldino [.NET/C# MVP]

    #2
    Re: Performance Issues

    Ram,

    When running as a server application, you are actually crossing the
    process boundary. This is what is accounting for your slow times. Also,
    depending on what other COM+ services you take advantage of, those
    interceptions are going to take up more time for each call. However, the
    fact that you are making an out of process call, and everything needs to be
    marshaled to the other process is going to account for most of the
    performance decrease.

    Hope this helps.


    --
    - Nicholas Paldino [.NET/C# MVP]
    - mvp@spam.guard. caspershouse.co m


    "Ram Stern" <ramstern@gmail .com> wrote in message
    news:1118848874 .763124.169420@ g43g2000cwa.goo glegroups.com.. .[color=blue]
    > Hey,
    > I have a ServicedCompone nt derived class, with only one method that
    > uses ESRI objects.
    > When I run the object in ApplicationActi vation set to library I get
    > greate calltimes, but when I set it to work as Server, my calltime
    > becomes almost 20 times slower.
    > When running a .Net object under Com+ as Server activation, I know
    > there are performance issues because of the creation time of the object
    > in the Com+, but even though, the differences shouldnt be so immense...
    > What could make the performance differences so big (20 times slower)?
    > Thanks ahead
    >
    > --Ram
    >[/color]


    Comment

    • Michael S

      #3
      Re: Performance Issues

      Ram, I think what Nicholas is trying to say is that

      COM+ Sucks So Hard It Bends Light

      =)

      - Michael S



      Comment

      • Steve Walker

        #4
        Re: Performance Issues

        In message <1118848874.763 124.169420@g43g 2000cwa.googleg roups.com>, Ram
        Stern <ramstern@gmail .com> writes[color=blue]
        >Hey,
        >I have a ServicedCompone nt derived class, with only one method that
        >uses ESRI objects.
        >When I run the object in ApplicationActi vation set to library I get
        >greate calltimes, but when I set it to work as Server, my calltime
        >becomes almost 20 times slower.
        >When running a .Net object under Com+ as Server activation, I know
        >there are performance issues because of the creation time of the object
        >in the Com+, but even though, the differences shouldnt be so immense...
        >What could make the performance differences so big (20 times slower)?[/color]

        Cross-process marshalling. Does it need to run as a server component?

        Another question; what are the ESRI objects written in? Are they being
        serialized, or is every call on them going cross-process as well?

        --
        Steve Walker

        Comment

        • Willy Denoyette [MVP]

          #5
          Re: Performance Issues


          "Michael S" <a@b.c> wrote in message
          news:uO7w$DzcFH A.2288@TK2MSFTN GP14.phx.gbl...[color=blue]
          > Ram, I think what Nicholas is trying to say is that
          >
          > COM+ Sucks So Hard It Bends Light
          >
          > =)
          >
          > - Michael S
          >
          >
          >[/color]

          I don't think that this is what Nicholas is trying to say. He's just saying
          that inter-process calls are (obviously) slower than in-process calls.
          I guess this is what YOU are trying to say, but keep in mind that COM+
          interop is still the fasted way to execute Object based RPC calls (yes,
          faster than remoting even using the 'new' ipc channel in v2) on windows.

          Willy.




          Comment

          Working...