== Performance backlog == Issues with the performance tests itself and things that needs to be improved. ||Description||Commit|| ||http_server is currently sending every response with "Content-Length". This will make only one path in QHttpNetworkReply for body paring be executed. The '''http_server''' must send content with transfer-encoding "chunked" and without the "Content-Length".|||| ||Create paint traces with a better data format. Currently a full trace will make the device go out of memory.|| || ||loading_standalone was created to reproduce a loading issue with Wikipedia content. Currently it is not able to reproduce the exact same set of problems. The test should be changed to start new downloads from within didReceiveResponse... like in the real case.|||| ||tst_painting is currently using ''QApplication::syncX'' in the performance run to make sure that everything has been synced. The problem with this paint benchmark is that on accelerated hardware it is not clear when the image has been painted. The ''QApplication::syncX'' will make the test a bit artificial in one way.|||| ||Benchmarks should generate more stable timing results. This is mostly with tst_cycling not being stable enough to use it for timing. The first change is to use the '''-median 5''' when executing the test and the second part is to disable the cache. The result is a lot more stable but it depends on the workload of the http_server as well. So there is more work left to do. ||[http://gitorious.org/qtwebkit/performance/commit/639390ec5e5d5189ac10c0b33ab941ec090592de Disable Cache]|| ||~~Add scripts to manipulate and query the content in the crawl db. This should include listing files, getting and putting files into the db and updating the header~~|| [http://gitorious.org/qtwebkit/performance/commit/8b4e47a221d416256ba477702bc503e25825c92e list files] [http://gitorious.org/qtwebkit/performance/commit/e0b53d9c865e44b38777eb55abc7472f66ec44cf get a file] [http://gitorious.org/qtwebkit/performance/commit/46dcbe02adcb753d6942449b820277b003a4b875 put a file] [http://gitorious.org/qtwebkit/performance/commit/e2c80e5897964ec2b2670421d51f585f1556623d update Content-Length in the header] [http://gitorious.org/qtwebkit/performance/commit/68f2a6717191b59cc8a875fa0e633583d506f38a store all files to disk]|| ||~~Fix create_hosts to remove the port part from the request~~|| [http://gitorious.org/qtwebkit/performance/commit/8b4e47a221d416256ba477702bc503e25825c92e Remove port]|| ||~~memusage is not working on glibc/ix86...~~ This is fixed in latest glibc git, more patches to come||[http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=22bc5239e1c7d97b0642af6c135af994586f8e82 memusage.so fix] [http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=67854c131c2ba8c013debf466b20cb13fffa120b memusagestat fixes]|| ||~~Minor patches to memprof to fix generation of images.~~||[http://gitorious.org/qtwebkit/performance/commit/ba418c4384f98010192e18c69b2b7c20e3c1629a ba418]|| ||~~Fixed http server to nog hog CPU in case of cancelled requests~~||[http://gitorious.org/qtwebkit/performance/commit/4bc79d68bb20c39b3cb9a3cbf7440fc145999928 4bc79]|| ||~~Change cycling, loading and scrolling to not use the _data and QFETCH but cycle through all sites in the QBENCHMARK and drop caches at the end of one iteration. This should be done because users will navigate from page to page instead of reloading everything and then going to the next one. And with the current QBENCHMARK we should see less variations when cycling through the whole set. Also maybe use an improved QBENCHMARK to log individual parts of the test...~~ ||[http://gitorious.org/qtwebkit/performance/commit/a80b4b31470e744fcf101d4f7fe5b4b5d98abc18 a80b4]|| ||~~Create paint traces from rendering images. This can be useful for Oslo developers to figure out which areas of painting to optimize.~~ Paint traces are available to Nokia people.||||