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/