Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-19745

Fix performance regression with JSF optimizations disabled

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 8.2
    • Fix Version/s: 7.10-HF12, 8.3
    • Component/s: Seam / JSF UI

      Description

      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)

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: