-
Type: Bug
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 8.2
-
Component/s: Seam / JSF UI
-
Epic Link:
-
Tags:
-
Team:AT
-
Sprint:nxAT Sprint 8.3.1, nxAT Sprint 8.3.2
-
Story Points:1
When backporting JSF optimizations on the 7.10 maintenance branch, disabling optimizations shows a performance regression linked to changed inside the layout listing template, due to the following change:
nuxeo-jsf/nuxeo-platform-webapp-base/src/main/resources/web/nuxeo.war/layouts/layout_listing_ajax_template.xhtml <ui:insert name="listing_header"> <nxu:set var="hasSeveralSorts" value="#{provider.getSortInfos().size() > 1}" cache="true"> -<ui:fragment rendered="#{showListingHeader and layout.properties.showListingHeader}"> +<c:if test="#{showListingHeader and layout.properties.showListingHeader}"> <thead> <tr> <nxl:layoutColumn> <th dir="auto"> <c:choose> @@ -184,17 +184,17 @@ </c:choose> </th> </nxl:layoutColumn> </tr> </thead> -</ui:fragment> +</c:if>
Performance regression visible on:
https://qa.nuxeo.org/funkload-bench/ondemand/diff_266-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-check-regression_vs_262-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-reader-memory/
https://qa.nuxeo.org/funkload-bench/ondemand/diff_266-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-check-regression_vs_262-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-writer-disk/
https://qa.nuxeo.org/funkload-bench/ondemand/diff_266-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-check-regression_vs_262-7.10-HF-optims-disabled-fix-NXP-17702-JSF-perfs-backport-7.10-rework-reader-cpu/
This is linked to multiple evaluation at render time instead of build time. Easiest solution is to use render time only when needed (e.g. when iteration variables are exposed at render time, e.g. when optimization for NXP-17370 are enabled)