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