* gitk (or tcl/tk) slow to start?
@ 2010-05-17 10:58 Eli Barzilay
2010-05-17 11:51 ` Michael J Gruber
0 siblings, 1 reply; 4+ messages in thread
From: Eli Barzilay @ 2010-05-17 10:58 UTC (permalink / raw)
To: git
Every time I run gitk when I didn't use it for a while, it takes a
long time to start (more than 30 seconds) with no visible cpu load. I
tried to strace it, and the result shows that the time is spent
stat()ing my whole /usr/lib directory:
...
stat("/usr/lib/libelf-0.131.so", {st_mode=S_IFREG|0755, st_size=87496, ...}) = 0
stat("/usr/lib/libungif.so.4", {st_mode=S_IFREG|0755, st_size=2444, ...}) = 0
stat("/usr/lib/libtiff.so.3.8.2", {st_mode=S_IFREG|0755, st_size=360268, ...}) = 0
...
Is this expected? Anything that can be done to avoid it?
[This is using a new git version (1.7.1), but it's an old OS (Fedora
7), so maybe tcl/tk is buggy?]
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gitk (or tcl/tk) slow to start?
2010-05-17 10:58 gitk (or tcl/tk) slow to start? Eli Barzilay
@ 2010-05-17 11:51 ` Michael J Gruber
2010-05-18 2:27 ` Eli Barzilay
0 siblings, 1 reply; 4+ messages in thread
From: Michael J Gruber @ 2010-05-17 11:51 UTC (permalink / raw)
To: Eli Barzilay; +Cc: git
Eli Barzilay venit, vidit, dixit 17.05.2010 12:58:
> Every time I run gitk when I didn't use it for a while, it takes a
> long time to start (more than 30 seconds) with no visible cpu load. I
> tried to strace it, and the result shows that the time is spent
> stat()ing my whole /usr/lib directory:
>
> ...
> stat("/usr/lib/libelf-0.131.so", {st_mode=S_IFREG|0755, st_size=87496, ...}) = 0
> stat("/usr/lib/libungif.so.4", {st_mode=S_IFREG|0755, st_size=2444, ...}) = 0
> stat("/usr/lib/libtiff.so.3.8.2", {st_mode=S_IFREG|0755, st_size=360268, ...}) = 0
> ...
>
> Is this expected? Anything that can be done to avoid it?
I don't expect stat'ing /usr/lib to take 30s. How large is it (file size
and count)?
> [This is using a new git version (1.7.1), but it's an old OS (Fedora
> 7), so maybe tcl/tk is buggy?]
>
ver += 6 - epsilon ; /* :) */
Michael
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gitk (or tcl/tk) slow to start?
2010-05-17 11:51 ` Michael J Gruber
@ 2010-05-18 2:27 ` Eli Barzilay
2010-05-18 7:04 ` Michael J Gruber
0 siblings, 1 reply; 4+ messages in thread
From: Eli Barzilay @ 2010-05-18 2:27 UTC (permalink / raw)
To: Michael J Gruber; +Cc: git
On May 17, Michael J Gruber wrote:
> Eli Barzilay venit, vidit, dixit 17.05.2010 12:58:
> > Every time I run gitk when I didn't use it for a while, it takes a
> > long time to start (more than 30 seconds) with no visible cpu load. I
> > tried to strace it, and the result shows that the time is spent
> > stat()ing my whole /usr/lib directory:
> >
> > ...
> > stat("/usr/lib/libelf-0.131.so", {st_mode=S_IFREG|0755, st_size=87496, ...}) = 0
> > stat("/usr/lib/libungif.so.4", {st_mode=S_IFREG|0755, st_size=2444, ...}) = 0
> > stat("/usr/lib/libtiff.so.3.8.2", {st_mode=S_IFREG|0755, st_size=360268, ...}) = 0
> > ...
> >
> > Is this expected? Anything that can be done to avoid it?
>
> I don't expect stat'ing /usr/lib to take 30s. How large is it (file
> size and count)?
I've done some more counting -- the most number of system calls (as
tracked by strace) are 2968 reads, 4582 lstats, and 6520 stats. And
it looks like it's recursively scanning /lib, /usr/lib, and /usr/share
for all *.tcl files. stracing `wish' shows 11000 l/stats -- so I
guess that the problem is there and not in gitk. Trying wish on a
fedora 12 machine, I see only ~350 {,f,l}stat64 calls, and gitk starts
as fast as I'd expect it to.
Oh well, I was hoping that someone knows some bit that needs flipping
or updating to get it to work faster -- I guess it's one more reason
to finally upgrade the F7 machine...
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: gitk (or tcl/tk) slow to start?
2010-05-18 2:27 ` Eli Barzilay
@ 2010-05-18 7:04 ` Michael J Gruber
0 siblings, 0 replies; 4+ messages in thread
From: Michael J Gruber @ 2010-05-18 7:04 UTC (permalink / raw)
To: Eli Barzilay; +Cc: git
Eli Barzilay venit, vidit, dixit 18.05.2010 04:27:
> On May 17, Michael J Gruber wrote:
>> Eli Barzilay venit, vidit, dixit 17.05.2010 12:58:
>>> Every time I run gitk when I didn't use it for a while, it takes a
>>> long time to start (more than 30 seconds) with no visible cpu load. I
>>> tried to strace it, and the result shows that the time is spent
>>> stat()ing my whole /usr/lib directory:
>>>
>>> ...
>>> stat("/usr/lib/libelf-0.131.so", {st_mode=S_IFREG|0755, st_size=87496, ...}) = 0
>>> stat("/usr/lib/libungif.so.4", {st_mode=S_IFREG|0755, st_size=2444, ...}) = 0
>>> stat("/usr/lib/libtiff.so.3.8.2", {st_mode=S_IFREG|0755, st_size=360268, ...}) = 0
>>> ...
>>>
>>> Is this expected? Anything that can be done to avoid it?
>>
>> I don't expect stat'ing /usr/lib to take 30s. How large is it (file
>> size and count)?
>
> I've done some more counting -- the most number of system calls (as
> tracked by strace) are 2968 reads, 4582 lstats, and 6520 stats. And
> it looks like it's recursively scanning /lib, /usr/lib, and /usr/share
> for all *.tcl files. stracing `wish' shows 11000 l/stats -- so I
> guess that the problem is there and not in gitk. Trying wish on a
> fedora 12 machine, I see only ~350 {,f,l}stat64 calls, and gitk starts
> as fast as I'd expect it to.
>
> Oh well, I was hoping that someone knows some bit that needs flipping
> or updating to get it to work faster -- I guess it's one more reason
> to finally upgrade the F7 machine...
>
I guess that was truly wish-ful thinking :)
[You can try and recompile an F12 wish.srpm on F7, of course.]
Sorry,
Michael
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-05-18 7:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-17 10:58 gitk (or tcl/tk) slow to start? Eli Barzilay
2010-05-17 11:51 ` Michael J Gruber
2010-05-18 2:27 ` Eli Barzilay
2010-05-18 7:04 ` Michael J Gruber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).