icon theme weight query ...



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]