Very poor performance on bigger list or bigger <display:table> tag content --------------------------------------------------------------------------
Key: DISPL-380 URL: http://jira.codehaus.org/browse/DISPL-380 Project: DisplayTag Issue Type: Bug Components: Tag Library Affects Versions: 1.1 Reporter: Tomasz Bech Priority: Critical When the list to display is average (in my case ~2000) and there is big content of <display:table> preformance is very poor: ~40 second to display 20 results out of 2000. I dig out and now see the way to improve it. Scenario <display:table contains some logic + display:columnt tags: <display:table id="oc" name="results" pagesize="${pagesize}" requestURI="${request.contextPath}" sort="list" defaultsort="1"> <!-- some logic here about 20 logic tags - very needed --> <logic:iterate id="attr" name="x" property="b"> ..... <display:column property="a" .... /> </display:table> Obviously the display:table iterates its content through whole list - so all the tags are evaluated list.size() times. And it is very time consuming. doAfterBody called on TableTag in loop takes 38 seconds and real display of table (doEndTag) 2s in my case. In fact it is enough to iterate the body of display:table ONCE, build the column structure and do the job in doEndTag. It will improve performance dramatically in such cases. The only difference is that there cannot be any code inside which depends on the current row (for example getting the value from row and using it in anyway. To keep compatibility, new flag can be added: evaluateBodyOnce [boolean] (or buildColumnStructureOnce) to switch from every-row-body-evaluation to one-time-body-evaluation. (Now to improve performance a little bit, partialList can be used, but there is a lot of code to write addtionaly - to sort, to tract offset, etc). -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ displaytag-devel mailing list displaytag-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/displaytag-devel