Subject: Re: B18,B19 (NT 4.0): gnu tools are slow
From: [email-masked] (Earnie Boyd)

8 May 1998 01:29:22 -0700
Message-ID: <[email-masked]>
Reply-To: [email-masked]
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
To: Jonathan Payne <[email-masked]>, [email-masked]

---Jonathan Payne <[email-masked]> wrote:
>
> Hi there,

Hi Jonathan,

> 
> I have always noticed that the GNU tools are very slow when it comes
to
> accessing the file system.  Recently I ran:
> 
> 	ls d:/
> 
> and it took so long, and the disk was making so much noise, that I
decided to
> run a program called NT File Mon which some of you may have heard
of.  The thing
> I noticed was that LS was apparently reading all the directories
1-level deep. 
> And I happened to have a directory with 1000+ files in it at the top
level, so
> that's why it took even longer than normal.
> 
> I'm wondering if this is a known problem.  Why do the GNU tools read
the
> contents of directories when all it should be doing is the equiv. of
a UNIX
> stat() in order to do the LS command.  This affects all the GNU
tools, whenever
> they need to stat files.  cp, find, gnumake, etc., are all very slow
and spin
> the disk way too much.
> 

It's not the GNU part of the tools it is the CYGWINB19.DLL part of the
tools.  If your _NOT_ using the cygwinb19.dll from Sergey Okhapkin and
you have an NT FAT drive then it gets even worse.

I do suggest that you also read the IMPORTANT UPGRADE NOTICE at the
end of this note.

> There's probably a good reason why it's necessary, but I am hoping
there isn't.
> 

The reasons are the missing UNIX pieces of filesystem information that
are trying to be emulated on Win32.  For instance, you've already
mentioned stat.  On Win32 the inode portion of stat is meaningless
(always zero); so, there is a stat function that emulates the UNIX
version of stat; creating a value for inode based on the path/file
names.

> Other than the slowness, the GNU tools are great.  Thanks!
> 
> JP
> 
> PS: Please reply to me, not just the list, because I am not on the
list.
> -- 
> Jonathan Payne, Marimba, Inc.
> http://www.marimba.com/people/jpayne/

-        \\||//
---o0O0--Earnie--0O0o----
[email-masked]
------ooo0O--O0ooo-------

Check out these great gnu-win32 related sites:
ftp://ftp.cygnus.com/pub/gnu-win32/latest/                  (ftp site)
http://www.cygnus.com/pubs/gnupro/                    (Comercial Page)
http://www.cygnus.com/misc/gnu-win32/                   (Project Page)
http://www.cygnus.com/ml/gnu-win32                     (Mail Archives)
http://www.itribe.net/virtunix/winhelp-man-pages/     (HTML Man Pages)
http://www.lexa.ru/sos                               (Sergey Okhapkin)
ftp://www.lexa.ru/pub/domestic/sos/                (Sergey's ftp site)
http://www.fu.is.saga-u.ac.jp/~colin/gcc.html (Colin Peters - Mingw32)
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/    (Mumit Khan)
ftp://ftp.hksys.com/pub/mirrors/EGCS-Win32/   (Jeremy Bettis - mirror)
http://gnu-win32.paranoia.ru                   (Chuck Bogorad's ports)
http://www.bestweb.net/~aka/gnu-win32/  (GNU-Win32 Bash Configuration)
http://rcw.home.ml.org/                  (Rob Warner - software ports)
http://www.wenet.net/~garbanzo/gnuwin32/     (more - software portals)
http://www.wenet.net/~garbanzo/gnuwin32/rpm   (Redhat Package Manager)
http://www.parallax.co.uk/~andyp/index_text.html  (Andy Piper - ports)
http://www.tiac.net/users/cgf     (Christopher Faylor - package ports)
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin32/ 
                                                       (German mirror)
http://www.dol.ru/users/valtul      (Valery Tulnikov - software ports)

Help for Win32 Beginners: 
 http://www.relisoft.com
 http://www.program.com/resources/win32.html

DISCLAIMER: These links or links from these pages to other sites do
not constitute an endorsement of any entities, advertisers, products 
or services therein. I am not responsible for and do not control or 
monitor the content of these sites or the accuracy of information 
found therein.

-------------------- IMPORTANT UPGRADE NOTICE ------------------------
You should get the following to update your cygwinb19 package:

Sergey Okhapkin's coolview package which contains an updated 
cygwinb19.dll.  (Yes, even if you've already downloaded the b19.1 
update from the Cygnus Site).

Mumit Khan's compilation of EGCS for the cygwinb19.dll; especially if 
your using the C++ compiler.  The current version of the compiler that 
comes with the tools have lots of problems that have been fixed with 
the EGCS version.  This is a drop-in replacement for the GCC toolset.

URL's are listed above.
-----------------------------------------------------------------------

_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".