[Webkit-unassigned] [Bug 106304] New: [Qt] High memory consumption and memory growth in Qt5's WebKit compared to Qt4.8

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 7 23:30:02 PST 2013


https://bugs.webkit.org/show_bug.cgi?id=106304

           Summary: [Qt] High memory consumption and memory growth in
                    Qt5's WebKit compared to Qt4.8
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: PC
        OS/Version: Windows 7
            Status: UNCONFIRMED
          Severity: Critical
          Priority: P2
         Component: WebKit Qt
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: bugzilla at kaffeeschluerfer.com


Created an attachment (id=181655)
 --> (https://bugs.webkit.org/attachment.cgi?id=181655&action=review)
ZIP file with test program and test page

Visual Studio 2010 and Windows 7 64bit (as well as Windows XP 32bit)

The initial memory consumption is 3-4 times higher in Qt5's QtWebKit compared to Qt4.8
The memory growth when using the JS bridge in Qt5 is 300% while in Qt4.8 it's 20%
--> that's an overwhelming difference!

Showing initially a simple html page with only a few buttons takes
7400 KB in Qt4.8
28300 KB in Qt5
(Initial memory consumption, without any interaction, just starting a simple browser and showing the page)

Sending some data (sending a few times 100000 strings in a loop) about the JS bridge to a C++ Slot lets the memory grow up to
8900 KB in Qt4.8
83800 KB in Qt5 (wow!)

How to retest:
I attached a simple test program with a html page. You can translate it with Qt5 as well as Qt4.8 (see the readme.txt). I also included the exe files.

Some details:
The memory numbers above are average numbers from five tests for each Qt version. The memory consumption variation was very stable from test to test (maybe 10% up and down), so the average numbers above are very realistic.

To see the memory growth just hit the first button in the html page. With each click you will send 100000 strings (in a loop) to a C++ slot that expects a QString. 

In Windows 7 you can display different memory sets with the Task Manager and with with the Resource Monitor. I measured the private working set ('privater Arbeitssatz' in my German version), because that's the real deal.

Of course the html page is simple and the inital _absolute_ difference between the Qt versions is only 20900 KB. However we have the same _relative_ difference also with our real application and some more sophisticated pages (our _real_ numbers show a initial memory consumption of 45 MB in Qt4.8 and 190 MB in Qt 5. This is a stopper for us to go on with Qt5.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list