Re: incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-11 Thread mike marchywka
On 9/8/10, Eric Blake ebl...@russianhut.comie wrote:
 On 09/08/2010 09:24 AM, Larry Hall (Cygwin) wrote:
 To somewhat sooth your curiousity, Windows (or perhaps it's more accurate
 to say NTFS) ain't great with directories with a large number of files.
 I expect you would be less than impressed with the performance of of 'dir'
 in 'cmd.exe' in the same directory. That said, you're asking for allot
 more
 work than you may realize when doing the same thing in Cygwin. In order to

I don't want to add more clutter with this contrived example but
just to make a point, I just got a 500G WD USB disk and sent these
things to their final resting place. I had to reformat it is as vfat as that
seems to be the only thing that is RW everywhere. I ran the script
on this newer debian install with vfat and USB disk and it is faster
than 'doze and probably faster than old emachines because I now
have 2.8ghz CPU LOL.




 fill in the information you ask for when you use the '-l' flag for 'ls',
 Cygwin needs to open and close the files, which takes a good chunk of time
 en masse. The same does not need to happen in Linux/UNIX-land.

 Additionally, the stat() interface is puny - it MUST take the time to
 fill out the complete struct, even if the caller only cares for part of
 the information.  If the Linux kernel ever incorporates the pending
 xstat() kernel call[1], then cygwin adds support for it, and coreutils
 is taught to make good use of it, then operations like ls can be sped up
 by asking for only the portions of the stat data that they plan on
 actually using, letting cygwin skip the work of obtaining the rest of
 the stat information just to be thrown away by the caller.

 [1]version 6 of that kernel patch is still being debated; as recently as
 http://lkml.indiana.edu/hypermail/linux/kernel/1008.2/00274.html


--
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



Re: incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-08 Thread mike marchywka
On 9/7/10, Larry Hall (Cygwin) reply-to-list-only...@xxx.com wrote:
 On 9/7/2010 12:05 PM, mike marchywka wrote:
 this takes a few minutes on old debian machine, taking much longer
 here on same data-
 about 19k file about 24Gb total size.
 Windoze finally has better perf stuff but still no help- one core at
 25 pct all kernel
 time disk not exactly busy. All the time is in the ls loop not the
 find command.
 Now obbviously I expect the ls per file has to make a bunch of OS calls
 for
 each file but still even with cygwin layer seems a bit much.
 Thanks.

 The problem is that Cygwin has to open all the files to stat when you
 use the '-l' flag.  Try without the flag to get the lower bound and see if
 that's better for you.  If so, maybe '-s' will suit your purpose.  Or
 even 'du'?

Sure, I could find a better way to do it but I was just curious about
performance
diffs. I've got this expensive 'doze laptop with 4 cores and the latest OS and
all and compared to this old emachines desktop with debian it seems a
bit slow. Now
maybe this is a bit of a contrived case, no one would really do this
and afterall
the new system may be optimized for real-life usages and of course cygwin can't
speed up obligatory OS calls.

Anyway yes du seems much faster and is quite reasonable :)

FWIW. Thanks.


 --

--
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



Re: incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-08 Thread Larry Hall (Cygwin)

On 9/8/2010 9:35 AM, mike marchywka wrote:

On 9/7/10, Larry Hall (Cygwin)reply-to-list-only...@xxx.com  wrote:

On 9/7/2010 12:05 PM, mike marchywka wrote:

this takes a few minutes on old debian machine, taking much longer
here on same data-
about 19k file about 24Gb total size.
Windoze finally has better perf stuff but still no help- one core at
25 pct all kernel
time disk not exactly busy. All the time is in the ls loop not the
find command.
Now obbviously I expect the ls per file has to make a bunch of OS calls
for
each file but still even with cygwin layer seems a bit much.
Thanks.


The problem is that Cygwin has to open all the files to stat when you
use the '-l' flag.  Try without the flag to get the lower bound and see if
that's better for you.  If so, maybe '-s' will suit your purpose.  Or
even 'du'?


Sure, I could find a better way to do it but I was just curious about
performance diffs. I've got this expensive 'doze laptop with 4 cores and the
latest OS and all and compared to this old emachines desktop with debian it
seems a bit slow. Now maybe this is a bit of a contrived case, no one would
really do this and afterall the new system may be optimized for real-life
usages and of course cygwin can't speed up obligatory OS calls.


To somewhat sooth your curiousity, Windows (or perhaps it's more accurate
to say NTFS) ain't great with directories with a large number of files.
I expect you would be less than impressed with the performance of of 'dir'
in 'cmd.exe' in the same directory.  That said, you're asking for allot more
work than you may realize when doing the same thing in Cygwin.  In order to
fill in the information you ask for when you use the '-l' flag for 'ls',
Cygwin needs to open and close the files, which takes a good chunk of time
en masse.  The same does not need to happen in Linux/UNIX-land.  So what
you're looking at here, above and beyond the design decisions of Windows,
is some limitations of the emulated environment.  So you can now take some
joy in the knowledge that you have a spanking new system to run
Windows/Cygwin on rather than an old eMachines box. ;-)


Anyway yes du seems much faster and is quite reasonable :)


Glad it helps.

--
Larry Hall  http://www.rfk.com
RFK Partners, Inc.  (508) 893-9779 - RFK Office
216 Dalton Rd.  (508) 893-9889 - FAX
Holliston, MA 01746

_

A: Yes.

Q: Are you sure?

A: Because it reverses the logical flow of conversation.

Q: Why is top posting annoying in email?


--
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



Re: incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-08 Thread Eric Blake

On 09/08/2010 09:24 AM, Larry Hall (Cygwin) wrote:

To somewhat sooth your curiousity, Windows (or perhaps it's more accurate
to say NTFS) ain't great with directories with a large number of files.
I expect you would be less than impressed with the performance of of 'dir'
in 'cmd.exe' in the same directory. That said, you're asking for allot more
work than you may realize when doing the same thing in Cygwin. In order to
fill in the information you ask for when you use the '-l' flag for 'ls',
Cygwin needs to open and close the files, which takes a good chunk of time
en masse. The same does not need to happen in Linux/UNIX-land.


Additionally, the stat() interface is puny - it MUST take the time to 
fill out the complete struct, even if the caller only cares for part of 
the information.  If the Linux kernel ever incorporates the pending 
xstat() kernel call[1], then cygwin adds support for it, and coreutils 
is taught to make good use of it, then operations like ls can be sped up 
by asking for only the portions of the stat data that they plan on 
actually using, letting cygwin skip the work of obtaining the rest of 
the stat information just to be thrown away by the caller.


[1]version 6 of that kernel patch is still being debated; as recently as 
http://lkml.indiana.edu/hypermail/linux/kernel/1008.2/00274.html


--
Eric Blake   ebl...@redhat.com+1-801-349-2682
Libvirt virtualization library http://libvirt.org

--
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



incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-07 Thread mike marchywka
this takes a few minutes on old debian machine, taking much longer
here on same data-
about 19k file about 24Gb total size.
Windoze finally has better perf stuff but still no help- one core at
25 pct all kernel
time disk not exactly busy. All the time is in the ls loop not the
find command.
Now obbviously I expect the ls per file has to make a bunch of OS calls for
each file but still even with cygwin layer seems a bit much.
Thanks.

$ more tots
foo=
#ls -al `find -type f| awk '{print \$0}' `  | awk '{tot=tot+\$5; }END{print tot}
'
#ls -al `find -type f `  | awk '{tot=tot+$5; }END{print tot}'
find -type f  xxx
cat xxx | while read
do
ls -al $REPLY
done  | awk '{tot=tot+$5; }END{print tot}'

--
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



Re: incredibly slow file listing script on windoze 7 pro 4 core 64 bit

2010-09-07 Thread Larry Hall (Cygwin)

On 9/7/2010 12:05 PM, mike marchywka wrote:

this takes a few minutes on old debian machine, taking much longer
here on same data-
about 19k file about 24Gb total size.
Windoze finally has better perf stuff but still no help- one core at
25 pct all kernel
time disk not exactly busy. All the time is in the ls loop not the
find command.
Now obbviously I expect the ls per file has to make a bunch of OS calls for
each file but still even with cygwin layer seems a bit much.
Thanks.


The problem is that Cygwin has to open all the files to stat when you
use the '-l' flag.  Try without the flag to get the lower bound and see if
that's better for you.  If so, maybe '-s' will suit your purpose.  Or
even 'du'?

--
Larry Hall  http://www.rfk.com
RFK Partners, Inc.  (508) 893-9779 - RFK Office
216 Dalton Rd.  (508) 893-9889 - FAX
Holliston, MA 01746

_

A: Yes.

Q: Are you sure?

A: Because it reverses the logical flow of conversation.

Q: Why is top posting annoying in email?


--
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