Slow compile issue with cygwin make since v1.5.17
Dan Shumuk
dshumuk@gmail.com
Tue Feb 20 19:35:00 GMT 2007
Thanks Jason,
I've ruled out norton AV as the source of the problem. A little more
investigation using a very simple make file revealed that the slowdown
was happening when make calls the compiler in a new shell.
I can replicate the problem without incorperating make at all using a
simple script that calls an empty .sh file a number of times (ie. "sh
./donothing.sh") . The VMware cygwin install does this very fast and
the problem machine takes ~10x longer.
Using strace I can see the slowdown is occurring when the secondary sh
process is ending:
84 1051407 [main] sh 2248 __to_clock_t: dwHighDateTime 0,
dwLowDateTime 625000
28 1051435 [main] sh 2248 __to_clock_t: total 00000000 0000003E
27 1051462 [main] sh 2248 __to_clock_t: dwHighDateTime 0,
dwLowDateTime 156250
23 1051485 [main] sh 2248 __to_clock_t: total 00000000 0000000F
484 1051969 [sig] sh 2248 wait_sig: saw __SIGEXIT
34 1052003 [sig] sh 2248 wait_sig: signal thread exiting
599 1052602 [main] sh 2248 pinfo::exit: Calling ExitProcess n 0x0,
exitcode 0x0
3573851 4750835 [proc_waiter] sh 1684
pinfo::maybe_set_exit_code_from_windows: pid 2248, exit value - old
0x8000000, windows 0xDEADBEEF, cygwin 0x8000000
89 4750924 [proc_waiter] sh 1684 sig_send: sendsig 0x6F0, pid 1684,
signal 20, its_me 1
36 4750960 [proc_waiter] sh 1684 sig_send: Not waiting for
sigcomplete. its_me 1 signal 20
27 4750987 [proc_waiter] sh 1684 sig_send: returning 0x0 from
sending signal 20
25 4751012 [proc_waiter] sh 1684 proc_waiter: exiting wait thread
for pid 2248
The same capture on the VMware machine:
173 136041 [main] sh 968 __to_clock_t: dwHighDateTime 0,
dwLowDateTime 1406250
71 136112 [main] sh 968 __to_clock_t: total 00000000 0000008C
66 136178 [main] sh 968 __to_clock_t: dwHighDateTime 0, dwLowDateTime 156250
66 136244 [main] sh 968 __to_clock_t: total 00000000 0000000F
775 137019 [main] sh 968 pinfo::exit: Calling ExitProcess n 0x0, exitcode 0x0
171051 439865 [proc_waiter] sh 1372
pinfo::maybe_set_exit_code_from_windows: pid 968, exit value - old
0x8000000, windows 0xDEADBEEF, cygwin 0x8000000
145 440010 [proc_waiter] sh 1372 sig_send: sendsig 0x6F4, pid 1372,
signal 20, its_me 1
90 440100 [proc_waiter] sh 1372 sig_send: Not waiting for
sigcomplete. its_me 1 signal 20
75 440175 [proc_waiter] sh 1372 sig_send: returning 0x0 from
sending signal 20
72 440247 [proc_waiter] sh 1372 proc_waiter: exiting wait thread for pid 968
I am not sure what the significance of this is, but on entry to the
secondary sh process there is a difference in the spawn_guts trace.
The slow call appears as:
26 1177519 [main] sh 2248 spawn_guts: null_app_name 0
(C:\cygwin\bin\sh.exe, (null))
Whereas the fast call appears as:
71 271756 [main] sh 968 spawn_guts: null_app_name 0
(C:\cygwin\bin\sh.exe, C:\cygwin\bin\sh.exe ./donothing.sh)
I've attached both the slow, fast building strace files
Thanks in advance,
Dan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bashcall_fast_all_one_iteration.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20070220/fe9e958f/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: bashcall_slow_all_one_iteration.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20070220/fe9e958f/attachment-0001.txt>
-------------- next part --------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list