<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Add-In Performance: What can you expect as you cross an isolation boundary and how to make it better [Jesse Kaplan]</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx</link><description>Aren’t AppDomains too Slow? “Aren’t AppDomains too slow?” This is one of most common questions we get when we recommend AppDomain or Process isolation to someone building an extensible application. For some applications the answer is yes, which is why</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Interesting Finds: February 23, 2008</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#7858989</link><pubDate>Sat, 23 Feb 2008 19:17:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7858989</guid><dc:creator>Jason Haley</dc:creator><description /></item><item><title>Thanks Jesse!</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#7892757</link><pubDate>Mon, 25 Feb 2008 16:48:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7892757</guid><dc:creator>Kathleen Dollard</dc:creator><description>&lt;p&gt;Jesse,&lt;/p&gt;
&lt;p&gt;Very cool! Thank you for this information. &lt;/p&gt;
&lt;p&gt;I think you're summary is very important. In many cases none of this matters because the AppDomain boundary is blazingly fast with System.AddIn. I had figured this out because overall my process is near the speed of writing the stuff I need to disk (a few other gems in 2008 are also blazingly fast. &lt;/p&gt;
&lt;p&gt;But I am seeing longer startup times for the first call acros the AppDomain boundary. This appears to be more than discovery. I'm seeing something on the order of half a second, which totally dwarfs teh actual speed of the call. Can you comment on first call performance? I know there are some specific issues around WPF performance, but I'm using a WinForms client that does have the LoaderOptimization attribute, but I'm not crazy about requiring the GAC although I may try it. &lt;/p&gt;
&lt;p&gt;I'll later be calling the AddIn from a Workflow local service. Do you know if there are any perf implications of that scenario. I assume I just start my workflow host with the LoaderOptimization attribute and everything else works the same, but I think this is an extremely important scenario as it allows delivered workflows to have specific behaviors modified in the field with appdomain boundary security protection. &lt;/p&gt;</description></item><item><title>re: Add-In Performance: What can you expect as you cross an isolation boundary and how to make it better [Jesse Kaplan]</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#7893501</link><pubDate>Mon, 25 Feb 2008 18:28:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7893501</guid><dc:creator>Kevin Kerr</dc:creator><description>&lt;p&gt;Excellent post! &lt;/p&gt;
&lt;p&gt;Extremely useful information.&lt;/p&gt;</description></item><item><title>re: Add-In Performance: What can you expect as you cross an isolation boundary and how to make it better [Jesse Kaplan]</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#7923485</link><pubDate>Thu, 28 Feb 2008 01:32:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7923485</guid><dc:creator>Kathleen Dollard</dc:creator><description>&lt;p&gt;Jesse,&lt;/p&gt;
&lt;p&gt;I keep coming back to this post. &lt;/p&gt;
&lt;p&gt;It has astounding implications for the design of add-ins. Where is the best place to have this conversation. &lt;/p&gt;
&lt;p&gt;Immediately, there's the issue of strings. I have large strings - around 2Mb. I'm currently doing a setup step to cache these on the addin side. However, this is causing some very real architcture problems due to this. Is a 2Mb string really free?&lt;/p&gt;
&lt;p&gt;I'm also working with architectures interesting from two directions. I'm using addins to plug into workflow because workflow does not have a discovery model. &lt;/p&gt;
&lt;p&gt;I am also doing additional assembly loading/selection on the AddIn side WITHOUT further use of addin (I'm passing an assembly and class name). I am doing this to avoid restrictions in the AddIn location, and because I am worried about communcations between addins and performance implicaiton. But this sets me up for versioing problems later. This interface between the two addins will be exceedingly chatty as its currently designed. I'm still hashing through these issues and interested in additional perf and architectural gudance as you have things to add. &lt;/p&gt;
&lt;p&gt;Kathleen&lt;/p&gt;</description></item><item><title>re: Add-In Performance: What can you expect as you cross an isolation boundary and how to make it better [Jesse Kaplan]</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#7958989</link><pubDate>Fri, 29 Feb 2008 22:53:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7958989</guid><dc:creator>CLR Add-In Team</dc:creator><description>&lt;p&gt;The cost of passing a string across an AppDomain boundary really is completely independant on the size of the string, so yes they are free.&lt;/p&gt;
&lt;p&gt;For general discussions about System.AddIn please start up new discussions on our codeplex site (www.codeplex.com/clraddins). It's much better suited for having multiple discussions at once and has the benifit of much better spam filtering so I won't have to approve each message before it's posted ;-). &lt;/p&gt;
</description></item><item><title>CollectionViewSource in AddIns</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#8655648</link><pubDate>Thu, 26 Jun 2008 11:58:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8655648</guid><dc:creator>Gil</dc:creator><description>&lt;p&gt;i'm trying to pass a CollectionViewSource between the addin and the host and i'm having some serialization issues, i tried several things and i think my only option is just to pass an array of the generic class of the collection with events that i supply manually. if you know some better way i would be very happy to hear about it..&lt;/p&gt;
&lt;p&gt;thanks Gil&lt;/p&gt;</description></item><item><title>re: Add-In Performance: What can you expect as you cross an isolation boundary and how to make it better [Jesse Kaplan]</title><link>http://blogs.msdn.com/clraddins/archive/2008/02/22/add-in-performance-what-can-you-expect-as-you-cross-an-isolation-boundary-and-how-to-make-it-better-jesse-kaplan.aspx#9022313</link><pubDate>Wed, 29 Oct 2008 17:14:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9022313</guid><dc:creator>Swiss</dc:creator><description>&lt;p&gt;What about the static objects that are in the separate appdomains? Doesn't tagging the assembly with the MultiDomainHost attribute change the behavior of this?&lt;/p&gt;</description></item></channel></rss>