icon theme weight query ...
- From: michael meeks <michael meeks novell com>
- To: performance-list gnome org
- Cc: Rodrigo Moya <rodrigo novell com>
- Subject: icon theme weight query ...
- Date: Mon, 06 Feb 2006 10:45:50 +0000
Hi guys,
Just running gnome-screenshot-applet and seeing some rather nasty
performance problems (some of which are most likely related to some
fontconfig grief we've been suffering recently)[1]
It was interesting to me what was up (and perhaps we have an old gtk+):
grep 'getdent' /tmp/strace-log | wc -l
382
grep '/opt/gnome/share/icons' /tmp/strace-log | wc -l
489
A lot of this seems to be:
8844 stat64("/opt/gnome/share/icons/hicolor/48x48/filesystems", {st_mode=S_IFDIR|0755, st_size=48, ...}) = 0
8844 stat64("/opt/gnome/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=400, ...}) = 0
*** 8844 open("/opt/gnome/share/icons/hicolor/icon-theme.cache", O_RDONLY|O_LARGEFILE) = 23
*** 8844 fstat64(23, {st_mode=S_IFREG|0644, st_size=7259516, ...}) = 0
*** 8844 close(23) = 0
8844 open("/opt/gnome/share/icons/hicolor/48x48/filesystems", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 23
8844 fstat64(23, {st_mode=S_IFDIR|0755, st_size=48, ...}) = 0
8844 fcntl64(23, F_SETFD, FD_CLOEXEC) = 0
8844 getdents64(23, /* 2 entries */, 4096) = 48
8844 getdents64(23, /* 0 entries */, 4096) = 0
8844 close(23) = 0
8844 stat64("/opt/gnome/share/icons/hicolor/48x48/mimetypes", {st_mode=S_IFDIR|0755, st_size=1016, ...}) = 0
8844 stat64("/opt/gnome/share/icons/hicolor", {st_mode=S_IFDIR|0755, st_size=400, ...}) = 0
*** 8844 open("/opt/gnome/share/icons/hicolor/icon-theme.cache", O_RDONLY|O_LARGEFILE) = 23
*** 8844 fstat64(23, {st_mode=S_IFREG|0644, st_size=7259516, ...}) = 0
*** 8844 close(23) = 0
ie. scanning all of these directories, and then open/fstat/close of the
icon-theme.cache each time.
Is that normal ? and/or have we just screwed up our theme caching ? :-)
and/or is this fixed in HEAD ? SL10.1 has gtk+-2.8.10. I thought the
cache was designed to avoid the need to stat all this stuff & force all
those dents into RAM at every app startup ?
Thanks,
Michael.
[1] - I though only OO.o did things as stupid as this:
8844 stat64("/home/michael/.fonts.cache-2", {st_mode=S_IFREG|0600,
st_size=217089, ...}) = 0
8844 open("/home/michael/.fonts.cache-2", O_RDONLY) = 23
8844 read(23, "G", 1) = 1
8844 read(23, "L", 1) = 1
8844 read(23, "O", 1) = 1
8844 read(23, "B", 1) = 1
8844 read(23, "A", 1) = 1
8844 read(23, "L", 1) = 1
8844 read(23, "\0", 1) = 1
8844 lseek(23, 0, SEEK_SET) = 0
8844 read(23, "G", 1) = 1
8844 read(23, "L", 1) = 1
8844 read(23, "O", 1) = 1
8844 read(23, "B", 1) = 1
8844 read(23, "A", 1) = 1
8844 read(23, "L", 1) = 1
8844 read(23, "\0", 1) = 1
8844 lseek(23, 0, SEEK_CUR) = 7
8844 lseek(23, 7, SEEK_SET) = 7
8844 read(23, " ", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, "3", 1) = 1
8844 read(23, "4", 1) = 1
8844 read(23, "f", 1) = 1
8844 read(23, "f", 1) = 1
8844 read(23, "9", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, "7", 1) = 1
8844 read(23, "8", 1) = 1
8844 read(23, "5", 1) = 1
8844 read(23, "6", 1) = 1
8844 read(23, "3", 1) = 1
8844 read(23, "4", 1) = 1
8844 read(23, "1", 1) = 1
8844 read(23, "2", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, " ", 1) = 1
8844 read(23, "1", 1) = 1
....
--
michael meeks novell com <><, Pseudo Engineer, itinerant idiot
[Date Prev][
Date Next] [Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]