HighTechTalks DotNet Forums  

Cross domain performance

Dotnet Framework (Performance) microsoft.public.dotnet.framework.performance


Discuss Cross domain performance in the Dotnet Framework (Performance) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Bob Bins
 
Posts: n/a

Default Cross domain performance - 09-27-2007 , 10:17 AM






I need to implement a plugin interface that is isolated and can be loaded
and unloaded at any time. Right now I am usign a second app domain and
calling in to it using remoting. The problem is remoting is way to slow. I
need to pass in a Stream of data a couple hundred times a second. In my
testing calling this method cuts my perfomrance from about 2 million
trasactions an hour to around 500k, which is unexceptable. Are there any
other solutions out there?




Reply With Quote
  #2  
Old   
Laura T.
 
Posts: n/a

Default Re: Cross domain performance - 09-28-2007 , 03:47 AM






Have you tried other IPC methods, like named pipes or even sockets?

"Bob Bins" <deveng (AT) yahoo (DOT) com> ha scritto nel messaggio
news:%23jn5AmRAIHA.4752 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
Quote:
I need to implement a plugin interface that is isolated and can be loaded
and unloaded at any time. Right now I am usign a second app domain and
calling in to it using remoting. The problem is remoting is way to slow.
I need to pass in a Stream of data a couple hundred times a second. In my
testing calling this method cuts my perfomrance from about 2 million
trasactions an hour to around 500k, which is unexceptable. Are there any
other solutions out there?





Reply With Quote
  #3  
Old   
Bob Bins
 
Posts: n/a

Default Re: Cross domain performance - 10-01-2007 , 10:35 AM



I am using AppDomain.CreateInstanceFromAndUnwrap to create a instance of an
object in the second AppDomain. Then I call a method on that loads all the
plugin instances. It ruturns an array of interfaces. Then I call the
methods on those interfaces through the application.

Calling in to these interfaces is what is slowing me down. I don't see
where you can change the comunicatin method when using
CreateInstanceFromAndUnwrap.


"Laura T." <LT_stop (AT) yahoo (DOT) com> wrote

Quote:
Have you tried other IPC methods, like named pipes or even sockets?

"Bob Bins" <deveng (AT) yahoo (DOT) com> ha scritto nel messaggio
news:%23jn5AmRAIHA.4752 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
I need to implement a plugin interface that is isolated and can be loaded
and unloaded at any time. Right now I am usign a second app domain and
calling in to it using remoting. The problem is remoting is way to slow.
I need to pass in a Stream of data a couple hundred times a second. In my
testing calling this method cuts my perfomrance from about 2 million
trasactions an hour to around 500k, which is unexceptable. Are there any
other solutions out there?







Reply With Quote
  #4  
Old   
Bob Bins
 
Posts: n/a

Default Re: Cross domain performance - 10-04-2007 , 09:09 AM



I will assume there is no solution and I have to load the plugins in the
main appdomain in order to perform at a respectable level.

I can't belive what little activity this group gets. Most of the issues I
have with .net are related to performance. I guess most people don't car
anymore.



"Bob Bins" <deveng (AT) yahoo (DOT) com> wrote

Quote:
I am using AppDomain.CreateInstanceFromAndUnwrap to create a instance of an
object in the second AppDomain. Then I call a method on that loads all the
plugin instances. It ruturns an array of interfaces. Then I call the
methods on those interfaces through the application.

Calling in to these interfaces is what is slowing me down. I don't see
where you can change the comunicatin method when using
CreateInstanceFromAndUnwrap.


"Laura T." <LT_stop (AT) yahoo (DOT) com> wrote in message
news:uo596waAIHA.3716 (AT) TK2MSFTNGP03 (DOT) phx.gbl...
Have you tried other IPC methods, like named pipes or even sockets?

"Bob Bins" <deveng (AT) yahoo (DOT) com> ha scritto nel messaggio
news:%23jn5AmRAIHA.4752 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
I need to implement a plugin interface that is isolated and can be loaded
and unloaded at any time. Right now I am usign a second app domain and
calling in to it using remoting. The problem is remoting is way to slow.
I need to pass in a Stream of data a couple hundred times a second. In
my testing calling this method cuts my perfomrance from about 2 million
trasactions an hour to around 500k, which is unexceptable. Are there any
other solutions out there?









Reply With Quote
  #5  
Old   
vapor
 
Posts: n/a

Default Re: Cross domain performance - 12-24-2007 , 09:32 AM



Nope, it's xmas so most people are away. :-)
If remoting is too slow, you are stuck basically. Your programming
requirements either need to be revisited; that is, remove the pluggable
restrictions which would allow you to run in process in the same domain or
compromise on the performance. Cross boundary is always expensive and you
may have run up against a limitation in your current design.

--
--
Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99

"Bob Bins" <deveng (AT) yahoo (DOT) com> wrote

Quote:
I will assume there is no solution and I have to load the plugins in the
main appdomain in order to perform at a respectable level.

I can't belive what little activity this group gets. Most of the issues I
have with .net are related to performance. I guess most people don't car
anymore.



"Bob Bins" <deveng (AT) yahoo (DOT) com> wrote in message
news:uewKwCEBIHA.4496 (AT) TK2MSFTNGP06 (DOT) phx.gbl...
I am using AppDomain.CreateInstanceFromAndUnwrap to create a instance of
an object in the second AppDomain. Then I call a method on that loads all
the plugin instances. It ruturns an array of interfaces. Then I call the
methods on those interfaces through the application.

Calling in to these interfaces is what is slowing me down. I don't see
where you can change the comunicatin method when using
CreateInstanceFromAndUnwrap.


"Laura T." <LT_stop (AT) yahoo (DOT) com> wrote in message
news:uo596waAIHA.3716 (AT) TK2MSFTNGP03 (DOT) phx.gbl...
Have you tried other IPC methods, like named pipes or even sockets?

"Bob Bins" <deveng (AT) yahoo (DOT) com> ha scritto nel messaggio
news:%23jn5AmRAIHA.4752 (AT) TK2MSFTNGP04 (DOT) phx.gbl...
I need to implement a plugin interface that is isolated and can be
loaded and unloaded at any time. Right now I am usign a second app
domain and calling in to it using remoting. The problem is remoting is
way to slow. I need to pass in a Stream of data a couple hundred times a
second. In my testing calling this method cuts my perfomrance from
about 2 million trasactions an hour to around 500k, which is
unexceptable. Are there any other solutions out there?










Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.