Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-45252

Slow evaluation of large javascript sources (>1.4Mb) like extjs

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.3.0, 5.3.1, 5.3.2, 5.4.0, 5.4.1
    • Fix Version/s: 5.4.2
    • Component/s: WebKit
    • Labels:
      None
    • Environment:
      Windows
    • Commits:
      877fe7d55036492a897d0928fe43d5df2bc6e2e5

      Description

      Since Version 5.2.1 of QT the loading of large javascript libraries in webkit is really slow:

      • 260ms on version 5.2.1
        + 1800ms on version 5.4.1 (same machine / same options)

      I think this is a regression.

      Here is a idea to speed up things:

      in qtwebkit\Source\JavaScriptCore\jit\JIT.cpp line 77, replace
      , m_labels( codeBlock ? codeBlock->numberOfInstructions() : 0 )
      by
      , m_labels( 0 ),

      then line 178, insert this code in method privateCompileMainPass()
      m_labels.resize( instructionCount );

      This avoid an unnecessary creation of a large array of labels (175111 on extjs) each time the jit is created (this is a lazy init)

      I can explain why if you need it

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              allan.jensen Allan Sandfeld Jensen
              Reporter:
              eco etienne cochard
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes