This is the mail archive of the cygwin@cygwin.com 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: Using Cygwin on NT 4.0 and Win2000; a user experience


Martin Buchholz wrote:
> Max> Actual test data relating to this would be very interesting to see.
>
> Some was included in my other post.  I would have done a more
> conclusive test, but I now have a working machine that is doing
> productive work, and I hesitate to go through another two cycles of
> painful cygwin1.dll installs.  But I would be willing to do this if
> that's what it would take to convince you folks to undo the sparse
> file patch.
>
> If you have a Windows 2000 machine (no service packs) and a recent
> cygwin, try this experiment:
>
> $ ls -l /etc/passwd
> -rw-rw-rw-    1 Martin B Users         628 May 13 04:10 /etc/passwd
> $ perl -e 'system("df ."); for (1 ... 1024) { system("cp /etc/passwd
> foobar$_"); } system("df .")' Filesystem           1k-blocks      Used
> Available Use% Mounted on
> d:                    11767580   4290332   7477248  37% /d
> Filesystem           1k-blocks      Used Available Use% Mounted on
> d:                    11767580   4290332   7477248  37% /d
>
> That's 4kb per small (but not tiny) file with my patch applied.
> How much space does yours take?  It would be interesting to see
> results on Windows XP as well.
>
> (again:) For best reproducibility, I suggest
> - windows 2000, no service packs
> - do the experiment on an ntfs partition formatted by windows 2000.
>
> I have not done this exact experiment on an unpatched Cygwin, but I
> predict it would take either 32kb or 64kb per file (also dependent on
> the filesystem cluster size, but that should default to 4kb).

max@pomello [~] $ CYGWIN=sparse perl -e 'system("df ."); for (1 ... 1024)
{ sys
tem("cp /etc/passwd foobar$_"); } system("df .")'; rm foobar*
Filesystem           1k-blocks      Used Available Use% Mounted on
M:\cygwin             18892436  13175484   5716952  70% /
Filesystem           1k-blocks      Used Available Use% Mounted on
M:\cygwin             18892436  13177408   5715028  70% /
max@pomello [~] $ CYGWIN=nosparse perl -e 'system("df ."); for (1 ... 1024)
{ s
ystem("cp /etc/passwd foobar$_"); } system("df .")'; rm foobar*
Filesystem           1k-blocks      Used Available Use% Mounted on
M:\cygwin             18892436  13175552   5716884  70% /
Filesystem           1k-blocks      Used Available Use% Mounted on
M:\cygwin             18892436  13175552   5716884  70% /

Well, here is my run of that, on WinXPSP1. All I can say is... wow!

As you can see, I don't change DLL between these tests. I attach my patch
which allows environment-variable control over sparse file creation.



Max.

Attachment: sparse-cond.patch
Description: Text document

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

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