Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / July 2005

Tip: Looking for answers? Try searching our database.

Cross AppDomain call overhead - Test Results

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Arthur M. - 14 Jul 2005 21:50 GMT
After developing basic plug-in system I have put it to performance test.
The general concept is two app domains one, the primary hosts main
application, secondary runs plug-ins (dynamic assemblies pre-compiled or
compile-on the first use)

Here are some basic numbers for those that care about performance:

Assembly loaded into primary app domain, dynamic object instantiation,
interface based access.

Execution time 0.586019172827831 seconds
Executions per second 1706428.81046794

The same exact code, except assembly is loaded into second app domain,
interface based access as well.
Execution time 32.1589118170047 seconds
Executions per second 31095.5795298779

Optimizations didn’t really help (for an obvious reason)

The point of the story is - dynamic code compilation is nice, but if you
cant execute within the same domain or greatly reduce a number of cross
domain calls - don’t expect high performance.

When I moved execution process into secondary domain and reduced number of
cross domain function calls from 1000000 to 4, performance was back on track
and summarized to:

Within Primary App domain
Execution time 4.17137876461953 second
Executions per second 2397288.8975744

Within Secondary App Domain
Execution time 4.27427592054297 second
Executions per second 2339577.55322676
Arthur M. - 14 Jul 2005 22:52 GMT
Performance update:

Specifying Loader Optimization ( LoaderOptimization.MultiDomain ) on primary
application entry point causes performance increase on cross domain calls:

Execution time 4.59662163766624 seconds
Executions per second 217551.079646336

If anyone can shed some light on what really happens with different
LoaderOptimizations that would be greatly appreciated.

Optimization setting for MultiDomainHost seems to fit description better for
calling a function from a remote class (i.e. unique code in multiple domains)
Yet MultiDomain setting seems to be getting much better performance.

> After developing basic plug-in system I have put it to performance test.
> The general concept is two app domains – one  hosts main
[quoted text clipped - 31 lines]
> Execution time 4.27427592054297 second
> Executions per second 2339577.55322676

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.