[mapguide-trac] #1451: Posible performance issue when parsing strings (Using StringBuilder instead string concatenate)

MapGuide Open Source trac_mapguide at osgeo.org
Fri Oct 1 16:50:15 EDT 2010


#1451: Posible performance issue when parsing strings (Using StringBuilder instead
string concatenate)
---------------------------+------------------------------------------------
   Reporter:  sreckol      |       Owner:                                              
       Type:  defect       |      Status:  new                                         
   Priority:  high         |   Milestone:                                              
  Component:  AJAX Viewer  |     Version:  2.2.0                                       
   Severity:  major        |    Keywords:  StringBuilder string concatenate performance
External_id:               |  
---------------------------+------------------------------------------------
 I have been working a lot on improving Mapguide performance, especially at
 WEB server AJAX Viewer.
 [[BR]]
 We are working with ASP.NET and IIS 7.5 on WIN server 2008.
 [[BR]]
 With a lot of reading and testing I discover one big performance issue in
 '''legend.aspx'''.
 [[BR]]
 [[BR]]
 Using '''StringBuilder.Apend''' instead of string concatenate (output =
 output + ...) improved performance while loading this page for 1 second
 (at least for 4 times)!
 [[BR]][[BR]]

 For loading this page before it uses 1.3s, after using StringBuilder it
 uses only 0.3s …
 [[BR]][[BR]]

 Because legend.aspx is called at every page refresh, this is probably
 quite big performance issue …
 [[BR]][[BR]]

 Probably the same issue is at legend.php and legend.jsp and also at some
 other files, where string concatenate was used.
 [[BR]]
 Probably this is also memory issue at IIS, Apache, Tomcat webservers ...
 [[BR]][[BR]]
 Second quite big performance issue at ASP.NET (for all aspx pages in
 mapviewernet folder) is setting Extra options at Page directive or set it
 globally in web.config.
 [[BR]]
 Example for page direcive:
 [[BR]]
 [[BR]]
 Before:
 [[BR]]
 <%@ Page language="c#" %>
 [[BR]]
 [[BR]]
 After:
 [[BR]]
 <%@ Page language="c#" EnableViewState="false" EnableSessionState="False"
 ValidateRequest="false" Buffer="true" %>

-- 
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/1451>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list