I hadn't seen this posted on dillo-dev yet, so I thought I'd forward it along. I'm just the messenger, put the guns away. -------- From: Owen Taylor <otaylor@redhat.com> To: Robin Rowe <rower@MovieEditor.com> Cc: gtk-app-devel-list@gnome.org, Stephen Lewis <slewis@paradise.net.nz> Date: Fri, 17 Oct 2003 11:12:48 -0400 On Thu, 2003-10-16 at 14:09, Robin Rowe wrote:
Hi. Dillo is a very small fast web browser (400kb executable). Stephan
Lewis posted some interesting performances tests yesterday comparing GTK1 and GTK2 running Dillo.
Can anyone illuminate further on the size and performance differences between GTK1 and GTK2?
I think these observations are basically irrelevant to most GTK+-2.x applications. GTK+-2.x *is* bigger and slower (this is an almost inevitable consequence of having more features and rendering nicer), but it's not megs bigger and minutes slower.
Test 1: Base load times dillo1 Time to load+render: ~1s Time to quit: instantaneous Size (from top): 7MB dillo2 Time to load+render: ~3s Time to quit: 0.5s (estimated, "felt" slower than dillo1) Size: 14MB
Test2: Loading a 1.8MB html file, styled text, bulletted lists,
of text dillo1 Time to load: 3s extra time to finish rendering: 6s Time to quit: ~2s Size: 56MB dillo2 Time to load: 1m20s real according to the time command, more
This is almost a plausible difference between GTK+-1.2 and GTK+-2.0 for a large program; though I suspect that reading the common FAQ's about how to read top sizes would show that the memory difference in actual memory used is much smaller than described above. Small GTK+-2.0 programs load in a few tenths of a second and malloc maybe ~600k of memory on X11. (Probably considerably less on Windows since a large amount that RAM is being used for font lists and fonts.) tables like
2m30s due to swapping extra time to finish rendering: 10s Time to close: 1m20s Size: 220MB
This is a dillo bug and has nothing to do with GTK+. (Or alternatively dillo is misusing GTK+ badly; if it's creating a GtkLabel per paragraph or something you might get this kind of change. But the 56meg "before" is pretty bad too.)
A couple of behavioural notes: 1) Progressive rendering wasn't useful in dillo2, you get an initial draw (which is largely useless), then dillo2 blocks, then the final draw.
dillo2 issue; the expose models *are* different between GTK+-1.2 and GTK+-2.0. This needs to be taken into account if you are doing something like progressive rendering. Regards, Owen --------