[
http://jira.codehaus.org/browse/DISPL-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=163263#action_163263
]
German Ruiz commented on DISPL-380:
-----------------------------------
I delete my patch because have an error when the class/style change between
differents rows for the same column.
So, Can I omit instanciate HtmlAttributeMap when the currentMediaType is HTML?
> 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
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
displaytag-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/displaytag-devel