Re: GTK apps very slow to launch



On Mon, Jul 17, 2006 at 11:14:23PM -0400, Richard Querin wrote:
...
> Thanks for the tip about running it and watching the output. Everything flies
> by until I get to the parts that have the read statements. So it slows down
> significantly at the parts as shown below. Nothing stops mind you, but the
> blocks of read statements are much much slower than the other parts of the
> output:

Is this where the application is spending the majority of its time while
starting up?  (reading font files?)

If you can, do the same strace thing with an app that works fast.  Are
the files read?  Are they read faster?  

Do you think your machine might be low on memory?

What kind of file system are these files read from?  Are they getting
read from a different disk than what you usually use?  Over a network?
 From a usb pen drive?  ;)  in other words, look into the performance of
whatever device this data is stored on.


...
> open("/usr/share/X11/fonts/100dpi/fonts.cache-1", O_RDONLY) = 17
...
> read(17, "\"courB08-ISO8859-1.pcf.gz\" 0 \"Co"..., 4096) = 4096
> read(17, "lias=False:index=0:outline=False"..., 4096) = 4096
> read(17, "h|da|de|en|es|eu|fj|fo|fur|fy|gd"..., 4096) = 4096
...

> I'm not sure what the read() commands are doing. But it appears font related.
> Maybe some problem with the font-cache files?

The read functions are reading on fille descriptor number 17, which was
returned by the open("/usr/share/X11/fonts/100dpi/fonts.cache-1").  So,
the read commands in this streak are reading from that file.  Any
function called on filedescriptor 17 will operate on that file until
it's closed and new file is opened, and assigned descriptor 17.

The read() functions you show are asking for and getting 4096 characters
of data each time they're called.  If all that data gets stored in
memory you may run out of space in RAM and cause swapping to start.
Then again, you mentioned in another post that you don't see your hd
light blink at all...

 - Anna




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]