This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Simple bash script is slow to execute - appears to be time spent starting commands like ls


I wrote:

Let's say we focus on the echo | cut slowness I mentioned earlier. This is
independent of the CWD and doesn't cause the explorer.exe spike but is still
200 times slower on my Vista laptop than on a low-powered Linux server. If
we correct this problem, I'm pretty confident the time per loop will go way
down.

I've also confirmed these results on my work PC. It's much faster than my
laptop (120 ms vs 800 ms) but it's still much slower than the 2-6 ms I get
on the server.

-----

For this test, rather than using cut I decided to use wc -l, it's a little
simpler. When I run:

echo hi | strace wc -l

I get this trace, with one line in particular that seems to have taken a
very long time, near the bottom.

   12      12 [main] wc 2332 open_shared: name shared.5, n 5, shared
0x60FC0000 (wanted 0x60FC0000), h 0xC4
  156     168 [main] wc 2332 heap_init: heap base 0xDA0000, heap top
0xDA0000
   91     259 [main] wc 2332 open_shared: name
S-1-5-21-1723455903-1123245079-927917492-1000.1, n 1, shared 0x60FD0000
(wanted 0x60FD0000), h 0xCC
   43     302 [main] wc 2332 user_shared_create: opening user shared for
'S-1-5-21-1723455903-1123245079-927917492-1000' at 0x60FD0000
   40     342 [main] wc 2332 user_shared_create: user shared version
2E710001
   57     399 [main] wc 2332 events_init: windows_system_directory
'C:\Windows\system32\', windows_system_directory_length 20
  107     506 [main] wc 2332 dll_crt0_0: finished dll_crt0_0 initialization
  128     634 [main] wc 2332 _cygtls::remove: wait 0xFFFFFFFF
   56     690 [main] wc 2332 _cygtls::remove: removed 0x22CE64 element 0
   77     767 [main] wc 2332 _cygtls::remove: wait 0xFFFFFFFF
   34     801 [main] wc 2332 _cygtls::remove: removed 0x22CE64 element 0
164431  165232 [sig] wc 2332 wait_sig: entering ReadFile loop, my_readsig
0x2B0, my_sendsig 0x2B4
 2729  167961 [main] wc 2332 _cygwin_istext_for_stdio: fd 0: not open
   75  168036 [main] wc 2332 _cygwin_istext_for_stdio: fd 1: not open
   35  168071 [main] wc 2332 _cygwin_istext_for_stdio: fd 2: not open
... rest omitted ...





--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]