<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.lhotka.net/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>CSLA .NET discussion</title><link>http://forums.lhotka.net/forums/5.aspx</link><description>General discussion about CSLA .NET</description><dc:language /><generator>CommunityServer 2008.5 SP3 (Build: 36.8414)</generator><item><title>Re: Performance and memory issues for CSLA</title><link>http://forums.lhotka.net/forums/thread/52899.aspx</link><pubDate>Tue, 05 Jun 2012 11:14:56 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:52899</guid><dc:creator>sergeyb</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/52899.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=52899</wfw:commentRss><description>&lt;p&gt;In addition to what Rocky says, you might want to consider getting away from root list and instead have just one building as the root with a search screen to allow users to select a single building.&amp;nbsp; YOu have to be carefull with EF when populating 2500 objects in a single swoop.&amp;nbsp; I would get aways from lazy loading as this may results in excessive number of queries, event though each one is fast, but if you fire 2000 of them, there is no way you could execute all that in less then&amp;nbsp;10 seconds probably.&amp;nbsp; I am guessing this is your #1 problem.&amp;nbsp; You can confirm easily enoguh with an SQL profiler.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Re: Performance and memory issues for CSLA</title><link>http://forums.lhotka.net/forums/thread/52897.aspx</link><pubDate>Tue, 05 Jun 2012 03:54:32 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:52897</guid><dc:creator>RockfordLhotka</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/52897.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=52897</wfw:commentRss><description>&lt;p&gt;You have the basic structure of your DataPortal_XYZ methods correct I assume? Things like turning off list changed events, using BypassPropertyChecks, etc. Missing those basic things can cause substantial performance issues.&lt;/p&gt;
&lt;p&gt;Assuming you have all that correct, the next step is to isolate whether the issue is in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The EF data access&lt;/li&gt;
&lt;li&gt;Loading the business objects with data&lt;/li&gt;
&lt;li&gt;Serializing the business objects to the client&lt;/li&gt;
&lt;li&gt;Binding the business objects to the UI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those are all potential performance bottlenecks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>Performance and memory issues for CSLA</title><link>http://forums.lhotka.net/forums/thread/52896.aspx</link><pubDate>Tue, 05 Jun 2012 01:53:03 GMT</pubDate><guid isPermaLink="false">49a2225a-bd1e-4c5d-a665-720b81e87ca9:52896</guid><dc:creator>TF Zheng</dc:creator><slash:comments>0</slash:comments><comments>http://forums.lhotka.net/forums/thread/52896.aspx</comments><wfw:commentRss>http://forums.lhotka.net/forums/commentrss.aspx?SectionID=5&amp;PostID=52896</wfw:commentRss><description>&lt;p&gt;&lt;span style="font-size:small;"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Folks:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Our configuration system below using CSLA, together with Entity Framework and SQL 2008, has some performance and memory management issues.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Our system:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Buildings (150 properties/building)---&amp;gt; Floors (17 properties/floor)-----&lt;span style="font-family:Wingdings;mso-ascii-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Arial;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt;Rooms (34 properties/room)&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;We tried one Model below:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Buildings (&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="color:#7030a0;"&gt;EditableRootList&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;) ---&lt;span style="font-family:Wingdings;mso-ascii-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Arial;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt;Floors(&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="color:#7030a0;"&gt;EditableChildList&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;) -----&lt;span style="font-family:Wingdings;mso-ascii-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Arial;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings;"&gt;&amp;agrave;&lt;/span&gt;&lt;/span&gt; Rooms(&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="color:#7030a0;"&gt;EditableChildList&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;) &lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;For one building with total: 2511 objects, and 85334 properties in three tables:&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;It took:&lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;24 seconds to create/initialize and populate in DB.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;14 seconds for a complete update.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;4.5 seconds to delete all.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Our goal is to do 100 buildings. So, the performance and memory management will be critical for us, as far as initialization, updating, binding, etc.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;We plan to replace &lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="color:#7030a0;"&gt;EditableRootList&lt;/span&gt;&lt;/i&gt;&lt;span style="color:#7030a0;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;to &lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="color:#7030a0;"&gt;DynamicRootList&lt;/span&gt;&lt;/i&gt;&lt;span style="color:#7030a0;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;for Buildings and Floors.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;Any&amp;nbsp;other good approach for such system? Such as paging, etc&amp;hellip;.&lt;/p&gt;
&lt;font size="3"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;All suggestions are welcome...Thanks ahead...&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:small;"&gt;Ting&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>