Browser performance in Qt environment

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2012

Major/Subject

Ohjelmistotekniikka

Mcode

T-106

Degree programme

Language

en

Pages

(7) + 50 s. + liitt. 7

Series

Abstract

The usage of browser applications becomes more and more common all the time. They are replacing traditional applications, for example, as email clients. In addition, social media services are typically available for a browser application. Webkit is one of the most widespread browser engines available and it is used, for example, by Google in its Chrome browser. Webkit offers two different versions. Qt is a development framework managed by Digia. Qt can be used to deploy applications to several platforms using the same source code. A Qt port of the Webkit is also provided with a Qt development framework. Webkit 2 is a newer version of this famous engine and is also provided when installing Qt version 5. A Qt version of both Webkit and Webkit 2 is available. The purpose of my thesis is to explain the difference between the two versions of Webkits, in addition to measuring and analyzing the found differences. Webkit and Webkit 2 differ from each other from an architectural point of view so that Webkit 2 is split to work in two processes while the older version of Webkit runs the entire code in a single process. In Webkit and Webkit 2, the actual rendering occurs in the same manner. Better stability and reactivity as well as the possibility to use an environment of several processors are the most significant advantages of Webkit 2 architecture. Webkit and Webkit 2engines are compared in four different performance tests. These are page load speed, DOM speed, JavaScript speed, and CSS speed. Tests are driven in a virtual Linux environment first using one and then two processors. Test results prove that the Webkit 2 -based browser is not faster in any measured area, compared to the older version of Webkit. Instead, the Webkit 2 -based browser is clearly slower, especially when calculating differences using percentages, in all other areas except in DOM speed. If results are viewed using milliseconds, only the results of tests measuring page load speed show notable differences. Webkit 2 could, in theory, be faster than its predecessor if a multiprocessing environment could have better been taken into account in a code level. However, this never occurred in the conducted test drives. As a conclusion, better stability and responsiveness can be achieved at a minimal cost of time.

Selainapplikaatioiden käyttö yleistyy jatkuvasti jokapäiväisessä ekamassamme. Ne korvaavat perinteisiä applikaatioita esimerkiksi sähköpostin käytössä, lisäksi sosiaalisten medioiden palvelut ovat poikkeuksetta käytettävissä juuri selainapplikaatioilla. Webkit on yksi käytetyimmistä selainmoottoreista, se on käytössä esimerkiksi Googlen Chrome selaimessa. Siitä on olemassa nykyään kaksi eri versiota. Qt puolestaan on Digian hallinnoima kehitysympäristö, jolla voi tehdä applikaatioita useille en käyttöjärjestelmille hyödyntämällä samaa lähdekoodia. Qt kehitysympäristön mukana toimitetaan myös Qt versio Webkit:stä. Webkit 2 on selainmoottorin uudempi versio. Molemmista Webkit versioista on olemassa Qt versio. Tämän työn tarkoitus on selvittää kahden Webkit version välinen ero, sekä mitata ja selittää eroavaisuuksia erikseen valituilla mittareilla. Webkit ja Webkit 2 eroavat toisistaan arkkitehtuurisesti siten, että Webkit 2 on jaettu toimimaan kahdessa eri prosessissa, kun taas vanhempi Webkit ajaa kaiken koodin yhdessä ja samassa prosessissa. Varsinainen renderöinti tapahtuu molemmissa samalla tavalla. Parempi stabiliteetti ja reagoivuus sekä mahdollisuus hyödyntää usean prosessorin ympäristöä ovat keskeisimmät edut, mitä Webkit 2 yrittää saavuttaa arkkitehtuurillaan. Webkit ja Webkit 2 moottoreita verrataan neljällä eri suorituskykytestillä. Näitä ovat sivun latausnopeus, DOM nopeus, JavaScript nopeus ja CSS nopeus. Testit ajetaan virtuaalisessa Linux ympäristössä sekä yhtä, että kahta prosessoria hyödyntäen. Testitulokset osoittavat, että Webkit 2:ta hyödyntävä selain ei ole millään alueella vanhempaa versiotaan nopeampi, sen sijaan se on selkeästi hitaampi varsinkin prosentuaalisesti tarkasteltuna muissa, paitsi DOM nopeustesteissä. Mikäli eroja tarkastelee millisekunneissa, ei muissa, kuin sivun latausnopeutta mittaavissa testeissä ollut merkityksellisiä eroja. Webkit 2 voisi teoriassa olla edeltäjäänsä nopeampi, mikäli usean prosessorin ympäristöä osattaisiin hyödyntää koodissa paremmin. Näin ei ajetuissa testeissä ikinä käynyt ja voidaankin todeta että paremmasta stabiliteetista ja reagoivuudesta maksetaan pieni ajallinen hinta mitä tulee varsinaiseen suorituskykyyn.

Description

Supervisor

Tarhio, Jorma

Thesis advisor

Koskinen, Tomi

Keywords

browser, Webkit, Qt, performance

Other note

Citation