I've just done some profiling:
http://www.netsurf-browser.org/temp/profiles/r12380-bbc.png
http://www.netsurf-browser.org/temp/profiles/r12380-bbc-news.png
http://www.netsurf-browser.org/temp/profiles/r12380-gamespot.png
All three tests include browser startup and quit, which are too quick to
really show up. I didn't do anything once the pages loaded other than
quit, so it's really just showing where time is spent between requesting a
URL and it finishing showing on screen.
As seen in the profiles, most of the time is spent in css_select_style.
On BBC News and Gamespot front pages, css_select_style takes 55% of the
time, and on BBC homepage, it takes 42% of the time.
On the BBC homepage JPEGs cause jpeg_convert to take 13% of the time.
On the other two pages jpeg_convert took 4-5% of the time.
Other image formats like PNG and GIF don't really show up.
Returning to css_select style, and taking BBC News as an example:
Function Inclusive Self
css_select_style 55.6% 7.8%
match_details 40.9% 11.9%
I'm not sure how much those functions can be optimised themselves, so
their Self values may be difficult to reduce, but the stuff below
match_details should be improved massively when we are able to switch from
libxml to libdom. (FWIW, that's 40.9 - 11.9 = 29% ish.)
Also, I've fixed some issues with the scrollbar widget, which was a
frames-handled-in-core prerequisite.
--
Michael Drake (tlsa) http://www.netsurf-browser.org/