Changes between Version 9 and Version 10 of QtWebKitPerformanceWork
- Timestamp:
- Dec 21, 2009, 5:35:30 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
QtWebKitPerformanceWork
v9 v10 1 == QtWebKit Performance Tuning Overview == 1 [[PageOutline]] 2 = QtWebKit Performance Tuning Overview = 2 3 3 == = Prerequisites ===4 == Prerequisites == 4 5 You must have Python installed to run the included scripts. You can download it at [http://www.python.org/download/ http://www.python.org/download/]. 5 6 6 == = Getting the sourcecode, building and installing ===7 == Getting the sourcecode, building and installing == 7 8 8 9 The code can be checked out from the [http://gitorious.org/qtwebkit/ QtWebKit git repository], it requires Qt4.5.x or a Qt4.6 snapshot post Qt4.6 TP1. … … 20 21 }}} 21 22 22 == = Performance Utilities Overview ===23 == Performance Utilities Overview == 23 24 The performance utilities contain utilities for the host, manual testing applications and benchmarking applications. All this is explained in depth on [wiki:QtWebKitPerformanceUtilities this] wiki site. 24 25 25 == = Running the tests ===26 == Running the tests == 26 27 To run the tests one machine acting as a server and one machine acting as a client is needed, additionally mirrored web content must be available. This content can be provided on request, or it can be mirrored using the '''mirror''' application. For an overview of the utilities, how they work and what they should do please see the above section. 27 28 28 === = Preparing the server ====29 === Preparing the server === 29 30 On the server the '''http_server''' must be launched. root access is required to be able to bind to port 80 of the system. If a web server like apache is already running it must be stopped before starting the '''http_server'''. The server will abort when it fails to bind to the port. When starting the '''http_server''' pass the path to the database file to be used as the first command-line argument, e.g. `sudo ./http_server benchmark_content.db`. 30 31 … … 34 35 The tests can be executed by executing '''tst_loading''', '''tst_scrolling''' and '''tst_painting'''. During the test execution numbers are printed on the display. All the benchmarks are using the QtTest framework which allows to pass options like '''--iterations NUMBER''' to force repeating the loading more than once. 35 36 36 37 === Running the tests with profiling on target hardware === 37 == Running the tests with profiling on target hardware == 38 38 One of the reasons to create the test suite is to profile QtWebKit to identify possible improvements. Various approaches were compared and a in depth discussion on how to profile can be found on the [wiki:QtWebKitProfilingSetup Profiling Setup] page. 39 39 40 == = Performance backlog ===40 == Performance backlog == 41 41 The Performance utilitiy has identified a set of work areas in the performance utilities themselves, QtWebKit and Qt. The backlog will contain a summary, and some description of how to carry out the change. 42 42 See the [wiki:QtBackLog Qt/QtWebKit backlog] and [wiki:QtWebKitPerformanceToolBackLog: Performance backlog] for more information on work items. 43 43 44 == = Common Windows Errors ===44 == Common Windows Errors == 45 45 46 === = Microsoft Visual C++ Runtime Error when you run http_server ====46 === Microsoft Visual C++ Runtime Error when you run http_server === 47 47 If you see an error dialog with a message of the form: 48 48 {{{